Ahoj,
jsem naprostý začátečník v makrerch a proto prosím ještě o další dvě rady.
První problém:
umím přejít na buňku, tam udělat úkon, pak chci přejít na další a udělat znovu úkon atd. Pokouším se to dát do cyklu takto:
Dim RADEK As Integer
Dim XX As Integer
Dim ZZ As Integer
Range("B90:G90").Select
Application.Goto Reference:="R90C2"
RADEK = 90
For XX = 0 To 120
ZZ = RADEK + XX
Range("B(0+ZZ):G(0+ZZ)").Select
Application.Goto Reference:="R(ZZ)C2"
next XX
Bohužel mi to nefunguje, je jasné, že se mi nemění proměná v buňce, jak to udělat?
A druhá otázka. Existuje někde na netu seznam funkcí maker, jejich význam a jejich správné zapsání?
Díky za info a přeji pěkný den
Petr
zápis proměné do adresy buňky
Re: zápis proměné do adresy buňky
Z toho vase kodu nejsem uplne moc moudry - je zapsano dost nestandardne.
Nicmene, predpokladam, ze se snazite v v tom cyklu oznacit vzdy oblast B90:G90 az B210:G210
Problem je v tom, ze pokud pouzivate hodnotu promenne, nemuzete ji mit uvnitr uvozovek [Range("B(0+ZZ):G(0+ZZ)").Select]
, ale vne Range("B"& 0+ZZ & ":G" & 0+ZZ).Select
Daleko lepsi je ale pouzit uvnitr Range prikaz Cells takto:
Range(Cells(0+ZZ,2),Cells(0+ZZ,7)).Select
Kazdopadne, kdybych tuto proceduru chtel napsal, udelal bych to asi takto:
Neni totiz potreba nejprve vybirat zacatek cyklu (Vase: Application.Goto Reference:="R90C2")
Pokud jde o druhy dotaz:
Tezko rict, co myslite seznamem funkci maker, protoze nic jako funkce makra neexistuje - existuji funkce, ktere jsou dostupne primo ve VBA, napr. funkce Len(string), ktera vrati pocet znaku v retezci (string), stejne jako funkce excelu (funkce listu) =DÉLKA.
Takovych funkci je mnoho a da se najit seznam techto funkci (ackoliv asi ne uplny seznam) - jde spise o to, co tim opravdu myslite...
Nicmene, predpokladam, ze se snazite v v tom cyklu oznacit vzdy oblast B90:G90 az B210:G210
Problem je v tom, ze pokud pouzivate hodnotu promenne, nemuzete ji mit uvnitr uvozovek [Range("B(0+ZZ):G(0+ZZ)").Select]
, ale vne Range("B"& 0+ZZ & ":G" & 0+ZZ).Select
Daleko lepsi je ale pouzit uvnitr Range prikaz Cells takto:
Range(Cells(0+ZZ,2),Cells(0+ZZ,7)).Select
Kazdopadne, kdybych tuto proceduru chtel napsal, udelal bych to asi takto:
Kód: Vybrat vše
Dim i As Integer
Dim Radek As Integer
Radek = 90
For i = 0 To 120
Range(Cells(Radek + i, 2), Cells(Radek + i, 7)).Select
Next i
Neni totiz potreba nejprve vybirat zacatek cyklu (Vase: Application.Goto Reference:="R90C2")
Pokud jde o druhy dotaz:
Tezko rict, co myslite seznamem funkci maker, protoze nic jako funkce makra neexistuje - existuji funkce, ktere jsou dostupne primo ve VBA, napr. funkce Len(string), ktera vrati pocet znaku v retezci (string), stejne jako funkce excelu (funkce listu) =DÉLKA.
Takovych funkci je mnoho a da se najit seznam techto funkci (ackoliv asi ne uplny seznam) - jde spise o to, co tim opravdu myslite...
Re: zápis proměné do adresy buňky
Díky za pomoc a info, myslím tím seznam funkcí užívající se v makru a jejich správné zapisování. Například co je Range a jaký musí být jeho zápis a parametry, aby správně fungoval. Díky
Re: zápis proměné do adresy buňky
To je prave ten problem - Range neni funkce, je to objekt, ktery ma svoje vlastnosti a pouzitelne metody - myslim, ze pro tebe by byla vhodna nejaka kniha, ktera te zasveti do VBA od zacatku...
Tahle myslim neni spatna na to, ze je docela lacina... http://www.grada.cz/excel-20002007_4960/kniha/katalog/
Tahle myslim neni spatna na to, ze je docela lacina... http://www.grada.cz/excel-20002007_4960/kniha/katalog/
Re: zápis proměné do adresy buňky
to určitě máš pravdu
-
- Mohlo by vás zajímat
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
- 4
- 7197
-
od draxxx
Zobrazit poslední příspěvek
10 kvě 2025 18:46
-
-
Příchozí email z vlastní adresy, který jsem neodeslal (gmail)
od Milan21 » 08 srp 2024 16:31 » v Vše ostatní (bezp) - 5
- 4059
-
od jaro3
Zobrazit poslední příspěvek
08 srp 2024 20:56
-
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 8 hostů