
Excel - makro
Zdravím,
ve sloupci A mám vždy číslo počátečního řádku, ve sloupci B číslo konečného řádku (př. A1 = 2502; B1 = 2525; A2 = 1324; B2 = 1380) - jedná se zhruba o 200 záznamů. Ve sloupci D se pak nachází seznam (čítá zhruba 3500 položek). Ukázka je pro představu v příloze. Potřebuji přiřadit ke každému řádku ve sloupci E číslo 1, pokud se číslo aktuálního řádku nachází v rozsahu "tabulky" (na obrázku oblast A1:B6). Např. rozsah A1:B1 (2 - 5) mi říká, abych do sloupce E zapsal číslo 1 na řádek 2, 3, 4 a 5, rozsah A2:B2 mi říká, abych zapsal do sloupce E číslo 1 na řádek 8, 9 a 10, atd. Poradíte mi prosím makro?
Děkuji
Je zarucene, ze polozky v stlpci D budu nasledovat po sebe? napr A1-B1 je 2-5, ale moze sa stat ze v stlpci D budu polozky napr 1,2,3,5,7 ? Teda vynechana polozka 4 , aj ked je v rozsahu a1:B1 ?
Ty položky nejsou ve skutečnosti čísla, ale názvy. Rozhodující je číslo řádku a tam se to co zmiňuješ stát nemůže.
Postupoval bych asi takto:
(použití cyklu)
- vybral bych první řádek sloupce A (A1) a hodnotu buňky bych hledal ve sloupci D. Pokud by se našla, zapsal bych do vedlejší buňky E na stejném řádku "1"
- jako pomocný výpočet bych provedl B1-A1 (5-2), výsledek (3) by znamenal, že hodnotu "1" mám napsat do sloupce E ještě 3x na další řádky
- cyklem bych skočil na další buňku sloupce A (tedy A2) a pokračoval stejně jako předtím (akorát se zvýší proměnná "řádek")
- atd, atd
- pokud už ve sloupci A nebude hodnota, konec.
Zpracovat to, na to teď opravdu nemám čas - a z hlavy ani znalosti, musel bych to naštudovat..
Díky, to zní zajímavě. Mě nakonec napadlo toto:
Sub zapsat()
For i = 1 To 6
For j = 2 To 28
c = Cells(i, 1).Value
d = Cells(i, 2).Value
If j >= c And j <= d Then Cells(j, 5).Value = "1"
Next j
Next i
End Sub
Ještě to musím ověřit na těch velkých datech.
Díky
Pokiaľ Ti ide o označenie čísel riadkov, tak Ti postačí toto:
ale postrádam zmysel obsahu stĺpca D.
Nemá sa náhodou testovať prítomnosť údaja v stĺpci D v intervaloch A-B?