Stránka 1 z 1

EXCEL - Zjištění měnící se pozice sloupce VBA

Napsal: 16 kvě 2012 09:40
od m1ton
Ahoj, potřeboval bych najít pořadové číslo buňky (index) v zadaném řádku, které vyhovuje podmínce. Zatím to mám tak, že v sešitu je buňka, kde fce POZVYHLEDAT najde index a ten se načte v makru

Kód: Vybrat vše

Index1 = Worksheets("Data").Range("A2").Value 'poloha C

Chtěl bych to udělat přímo v makru, kde fci POZVYHLEDAT = Application.Match

Kód: Vybrat vše

Index = Application.Match("C", Oblast, 0)

Díky za rady

Re: EXCEL - Zjištění měnící se pozice sloupce VBA

Napsal: 16 kvě 2012 10:41
od cmuch
Vítej na PC-Help

Šlo by to takto.

Kód: Vybrat vše

Sub Index()

Dim Index1 As Integer
Dim Pole(1 To 3) As String
 
Pole(1) = "A"
Pole(2) = "B"
Pole(3) = "C"

Index2 = WorksheetFunction.Match("C", Pole, 0)
End Sub

Více zde http://excelplus.net/news.php?readmore=87

Re: EXCEL - Zjištění měnící se pozice sloupce VBA

Napsal: 16 kvě 2012 13:02
od m1ton
Děkuji. Ale co když bude víc sloupců a budou se přidávat ? Použil bych obecnější řešení s fcí Match, kde oblast je objekt typu Range.

Kód: Vybrat vše

Sub Index()
 Dim Index1 As Integer
 Dim Oblast1 As Variant
 Oblast1 = Range("1:1").Value
 Index1 = Application.Match("C", Oblast1, 0)
End Sub

Dalo by se říct, že předchozí kod je pro tabulky, kde je málo sloupců a nedochází k časté změně sloupců ? Musím nejdřív pole naplnit a potom hlídat změny ve sledovaných sloupcích a při každé změně znovu naplnit pole?

Re: EXCEL - Zjištění měnící se pozice sloupce VBA

Napsal: 16 kvě 2012 19:08
od cmuch
Dalo by se říct, že předchozí kod je pro tabulky, kde je málo sloupců a nedochází k časté změně sloupců ? Musím nejdřív pole naplnit a potom hlídat změny ve sledovaných sloupcích a při každé změně znovu naplnit pole?

Ano, asi tak.