Pozdrav
Z urejanjem makrov nimam dosti izkušenj, pa me zanima če je sploh MOŽNO rešiti naslednjo zadevo.
Makro sem posnel in ga povezal na en gumb. Na koncu makra imam eno vrstico s konstanto za nastavitev v katerem polju se naj kazalec nastavi.
Podatki so tedenski in zdaj vsak teden pred vpisom podatkov v makru popravim konstanto x+7 (pač tedenski podatki zato +7.
To načeloma ni nek problem, ampak če se da vrednost konstante nekako spremeniti, imam lahko avtomatski vpis podatkov (tedenskih) v tabelo.
Če bi namesto vsebine "V564" imel variablo(izračunano), bi lahko še dodal makro za special paste: Values & Number Formatting (A) in bi imel podatke za prave dneve v tabeli, potem bi se v makru vrnil na list, kjer sem podatke vnašal. Za naslednji teden bi po istem postopku imel podatke za naslednjih 7 dni. Podatki so dnevni, en record v tabeli en dan.
Variablo lahko izračunam, ker vem za kateri ISO KT so podatki.
Range("V564").Select
Macro:
Sub KopirajSume()
'
' KopirajSume Macro
' Kopira tedenske podatke ZA VSAK TEDEN VREDNOST V ZADNJI VRSTICI POVEČAJ ZA 7(PAČ 7 DNI)
'
'
Range("B60:J60").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
ActiveWindow.ScrollWorkbookTabs Sheets:=1
ActiveWindow.ScrollWorkbookTabs Sheets:=1
ActiveWindow.ScrollWorkbookTabs Sheets:=1
ActiveWindow.ScrollWorkbookTabs Sheets:=1
Sheets("DnevneSume").Select
Range("V564").Select
End Sub
Vnaprej se zahvaljujem za kak konstruktiven odgovor.
LP bilioldi
Makro: namesto konstante je lahko variabla ?
Re: Makro: namesto konstante je lahko variabla ?
Pozdravljeni,
Moram priznati, da vprašanja ne razumem čisto natančno, vendar je odgovor v vsakem primeru pozitiven. Če znate izračunati vrstico, potem v makru pač ne potrebujete konstante, temveč lahko vrstico pač izračunate.
Najprej uporabite drugačen dostop do celic. Celico lahko opišete kot presečišče vrstice in kolone in zato je V564 pravzaprev presečišče 564-te vrstice in 22-te kolone (V je 22-ta kolona), zato je v VBA sledeč zapis enakovreden:
Glede na dejstvo, da pravite, da znate izračunati pravilno vrstico, je potem makro pač sledeč:
Moram priznati, da vprašanja ne razumem čisto natančno, vendar je odgovor v vsakem primeru pozitiven. Če znate izračunati vrstico, potem v makru pač ne potrebujete konstante, temveč lahko vrstico pač izračunate.
Najprej uporabite drugačen dostop do celic. Celico lahko opišete kot presečišče vrstice in kolone in zato je V564 pravzaprev presečišče 564-te vrstice in 22-te kolone (V je 22-ta kolona), zato je v VBA sledeč zapis enakovreden:
Koda: Izberi vse
Range("V564").Select
Cells(564, 22).select
Koda: Izberi vse
' ...
ActiveWindow.ScrollWorkbookTabs Sheets:=1
Sheets("DnevneSume").Select
dim vrstica as long
vrstica = (vaš izračun za vrstico)
Cells(vrstica, 22).Select
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Re: Makro: namesto konstante je lahko variabla ?
Pozdrav
Super hvala za hiter odgovor, še bolj pa za kodo.
Bom takoj brobal .
Izračun vrstice pa bo na osnovi datuma dd.mm.llll (pač prvi ponedeljek v tednu), ne pa na ISO KT(prvi dan-razlog,ko je prehod leta, so lahko težave).
LP bilioldi
Super hvala za hiter odgovor, še bolj pa za kodo.
Bom takoj brobal .
Izračun vrstice pa bo na osnovi datuma dd.mm.llll (pač prvi ponedeljek v tednu), ne pa na ISO KT(prvi dan-razlog,ko je prehod leta, so lahko težave).
LP bilioldi