zápis proměné do adresy buňky

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

dolphino
nováček
Příspěvky: 24
Registrován: listopad 11
Pohlaví: Muž
Stav:
Offline

zápis proměné do adresy buňky

Příspěvekod dolphino » 19 pro 2011 12:33

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

Reklama
Uživatelský avatar
Poki
Level 2
Level 2
Příspěvky: 237
Registrován: prosinec 09
Pohlaví: Muž
Stav:
Offline

Re: zápis proměné do adresy buňky

Příspěvekod Poki » 19 pro 2011 12:52

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:

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...

dolphino
nováček
Příspěvky: 24
Registrován: listopad 11
Pohlaví: Muž
Stav:
Offline

Re: zápis proměné do adresy buňky

Příspěvekod dolphino » 19 pro 2011 13:04

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

Uživatelský avatar
Poki
Level 2
Level 2
Příspěvky: 237
Registrován: prosinec 09
Pohlaví: Muž
Stav:
Offline

Re: zápis proměné do adresy buňky

Příspěvekod Poki » 19 pro 2011 13:19

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/

dolphino
nováček
Příspěvky: 24
Registrován: listopad 11
Pohlaví: Muž
Stav:
Offline

Re: zápis proměné do adresy buňky

Příspěvekod dolphino » 19 pro 2011 13:24

to určitě máš pravdu


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • MAC Adresy
    od draxxx » 10 kvě 2025 16:50 » v Administrace sítě
    4
    7178
    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
    4057
    od jaro3 Zobrazit poslední příspěvek
    08 srp 2024 20:56

Zpět na “Kancelářské balíky”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 8 hostů