Excel-kopiranje vrstic ter nato izračuna na nov list

Pomoč pri izdelavi makrov
blacky1
Prispevkov: 11
Pridružen: Pe Jan 13, 2012 8:52 am

Re: Excel-kopiranje vrstic ter nato izračuna na nov list

Odgovor Napisal/-a blacky1 »

Hvala z nasvet.

Vendar ne znam zapisati macra v modul, da bi deloval samo na enem listu.

Koda: Izberi vse

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim celica As Range
  
  Set celica = Intersect(Target, Range("E:E"))
  If celica Is Nothing Then Exit Sub
  If (celica.Row < 5) Then Exit Sub
  
  If celica <> "" Then celica.Offset(0, 6) = Now
End Sub

Poskusil sem tega zapisati v modul pa ne deluje na nobenem listi, ko pa je zapisan na list pa normalno deluje.
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: Excel-kopiranje vrstic ter nato izračuna na nov list

Odgovor Napisal/-a admin »

Ta makro ne deluje če ga zapišete v modul, saj tam seveda ne bo deloval.

To je makro oz. odziv na dogodek in deluje samo če ga zapišete v kodo lista. Ko list kopirate se zraven kopira tudi vsa koda, ki je zadaj pripeta na list.

Ostalo pa ne razumem, kaj počenjate oz. kaj želite početi.
lp,
Matjaž Prtenjak
Administrator
blacky1
Prispevkov: 11
Pridružen: Pe Jan 13, 2012 8:52 am

Re: Excel-kopiranje vrstic ter nato izračuna na nov list

Odgovor Napisal/-a blacky1 »

Pozdravljen Matjaž,

V zvezku imam več listov na katere beležim prihode in odhode določenega orodja.
Ker se na listu, ki ga želim poslati po mailu drugemu uporabniku, nahajajo funkcije kot so Vlookup in macro za zapis datuma, uporabniku ne prikaže vrednosti, ki so prikazane z funkcijo, saj ne more funkcija dostopati do tega mojega zvezka.

Da bi pošiljal še zraven podatke za prikaz pa je datoteka prevelika.

Za to sedaj delam to na sledenj način:
List, ki ga želim poslati najprej kopiram v nov list in vsak stolpec kjer je funkcija kopiram in prepišem z vrednostjo.
Težava nastopi tukaj, ker so določene vrstice skrite jih je potrebno prej razkriti stolpce prepisat in jih nato pravilno skriti po določenem zaporedju.
Ker pa je tudi macro vezan na ta list javi napako zaradi vnosa več podatkov in želi spremeniti čas (česar pa ne želim).

Jaz pa bi želel, da bi lahko ta list poslal po mailu takšen kot je (brez spremembe podatkov), ker danes ta način porabi veliko časa preden izvede vse ukaze. Zato sem prosil za pomoč. če obstaja kakšna hitrejša možnost kopiranja lista na nov list samo z vrednostmi.

Upam, da sem vam dovolj natančno razložil kaj želim početi.


Ampak za vaše nasvete pa kapo dol.
Brez vašega foruma bi bilo naše delo še vedno bolj naporno. Pohvalno, samo tako naprej.
Upam še samo, da dobim kje vašo knjigo.


LP
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: Excel-kopiranje vrstic ter nato izračuna na nov list

Odgovor Napisal/-a admin »

Torej vi želite v določenih situacijah pač izključiti izvajanje makra, ki je pisan zadaj na listu. To dosežete preprosto tako, da v makro vnesete pač nek pogoj in če je izpolnjen ta pogoj, potem makro pač prekinete.

Primer: Če je v celici AC1 zapisana vrednost "1" potem makra ne izvajaj.

In potem vse kar morate narediti, je da v celico AC1 vpišete 1 in makro se od tega trenutka dalje ne bo izvajal. Ko spet želite, da se makro izvaja, pa samo pobrišete vrednost celice AC1 in spet bo vse OK.
lp,
Matjaž Prtenjak
Administrator
blacky1
Prispevkov: 11
Pridružen: Pe Jan 13, 2012 8:52 am

Re: Excel-kopiranje vrstic ter nato izračuna na nov list

Odgovor Napisal/-a blacky1 »

Matjaž,

Hvala za idejo, na to sploh nisem pomislil.

Mam pa se eno vprašanje, kakšen je ukaz, da bi zabeležil stari podatek na drugi list (samo tistega, ki ga spremenim, ne glede kje na listu).

LP
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: Excel-kopiranje vrstic ter nato izračuna na nov list

Odgovor Napisal/-a admin »

:) spet ste me izgubili... karkoli želite doseči, takšnega "ukaza" ni. Excel ne more imeti "Ukazov" za vsako vašo željo.

Če želite arhivirati vse spremembe neke celice morate pač zapisati dogodek Worksheet_Change za konkreten list in se v kodi vprašati ali se je spremenila vrednot celice, ki jo nadzirate. Če se je spremenila, pač njeno vrednost prenesete kamor želite...
lp,
Matjaž Prtenjak
Administrator
Odgovori