Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Excel VBA jak vytvořit smyčku

Zdravím, potřeboval bych poradil jak vytvořit následující smyčku, neboť s tím nemám moc zkušeností :

Budu mít zakliknutou buňku v prvním sloupci (A10), uživatel spustí makro a makro se podívá do buňky vpravo vedle (B10), zda obsahuje nějaký text, pokud NE,
tak vloží vlastní text do buněk B10,C10,E10,F10.

Ovšem pokud v buňce A10 nějaký text je, tak se makro podívá do buňky G10 zda ona náhodou ona obsahuje nějaký text, pokud NE,
tak vloží vlastní text do buněk G10,H10,J10,K10.

Ovšem pokud tam nějaký text je, tak se makro podívá do buňky L10 a takhle pořád dokola.....

na vkládání textu mám kód:

With ActiveCell
.Offset(0, 1) = Date
.Offset(0, 2) = "text 1"
.Offset(0, 4) = "text 2"
.Offset(0, 5) = "text 3"
End With

předem děkuji za rady

Předmět Autor Datum
Sub AutDoplneni() krok = 1 Do Until ActiveCell.Offset(0, krok) = "" krok = krok + 5 Loop With Active…
robert13 03.09.2018 10:39
robert13
doufal jsem že bys zrovna ty mohl pomoct, mockrát ti děkuju :-);-)
coffeeblack 03.09.2018 10:43
coffeeblack
A propos, dá sa urobiť to, že nech už si v bunke akéhokoľvek stĺpca, bude sa to orientovať od stĺpca…
robert13 03.09.2018 10:47
robert13
chápu, zatím není potřeba to udělat nějak víc blbuvzdorné, kdyby bylo potřeba, kdyžtak se ozvu, díky…
coffeeblack 03.09.2018 10:57
coffeeblack
Môže sa však stať, že v napr A10 niečo bude ale v B,C,E,F nebude nič, aj tak chceš zapísať až od G?…
robert13 03.09.2018 11:02
robert13
tvoje makro funguje správně :) v praxi to bude fungovat tak, že v A10 bude číslo objednávky a konstr…
coffeeblack 03.09.2018 11:26
coffeeblack
OK ;-):beer: poslední
robert13 03.09.2018 12:16
robert13
Sub AutDoplneni()

    krok = 1
    
    Do Until ActiveCell.Offset(0, krok) = ""
        krok = krok + 5
    Loop
    
    With ActiveCell
        .Offset(0, krok) = Date
        .Offset(0, krok + 1) = "text 1"
        .Offset(0, krok + 3) = "text 2"
        .Offset(0, krok + 4) = "text 3"
    End With

End Sub

Ako som už pred časom upozornil, pokiaľ spustíš makro a nebudeš mať aktívnu bunku v stĺpci "A", tak sa Ti to celé posunie o toľko stĺpcov doprava, o koľko stĺpcov máš vzdialenú aktívnu bunku od stĺpca "A"

A propos, dá sa urobiť to, že nech už si v bunke akéhokoľvek stĺpca, bude sa to orientovať od stĺpca "A" aktívneho riadka.
T.j. aj keď budeš napr. v bunke F14 a spustíš makro, tak cieľ si napriek tomu bude vypočítavať od stĺpca "A" v 14. riadku...

Akurát, že voči minulej úlohe sa nekontroluje, či je v bunke "A" naplnený nejaký údaj alebo nie...

tvoje makro funguje správně :) v praxi to bude fungovat tak, že v A10 bude číslo objednávky a konstruktér použije makro z předchozího úkolu. Když časem nastane změna termínu expedice, konstuktér si ve sloupci A nalezte příslušnou zakázku a spustí tvoje makro a na volný sloupec zaznamená změnu. Takže funguje to skvěle :)

Zpět do poradny Odpovědět na původní otázku Nahoru