..|| Blog || Produkti/Storitve || MExcel || MDodatki || 300 nasvetov ||..

Makro: namesto konstante je lahko variabla ?

Pomoč pri delu z MS Excelom

Makro: namesto konstante je lahko variabla ?

OdgovorNapisal/-a bilioldi » Ne jul 22, 2018 9:13 am

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
bilioldi
 
Prispevkov: 8
Pridružen: Ne apr 10, 2016 11:08 am



Matjazev.NET
 

Re: Makro: namesto konstante je lahko variabla ?

OdgovorNapisal/-a admin » Ne jul 22, 2018 10:53 am

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:
Koda: Izberi vse
  Range("V564").Select

  Cells(564, 22).select


Glede na dejstvo, da pravite, da znate izračunati pravilno vrstico, je potem makro pač sledeč:
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
admin
Site Admin
 
Prispevkov: 3493
Pridružen: Sr jul 20, 2005 10:06 pm

Re: Makro: namesto konstante je lahko variabla ?

OdgovorNapisal/-a bilioldi » Ne jul 22, 2018 1:27 pm

Pozdrav

Super hvala za hiter odgovor, še bolj pa za kodo.
Bom takoj brobal :D .
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
bilioldi
 
Prispevkov: 8
Pridružen: Ne apr 10, 2016 11:08 am


Vrni se na Excel

Kdo je prisoten

Po forumu brska: 0 registriranih uporabnikov in 1 gost

cron