Vstavljanje makra v drug makro

Pomoč pri delu z MS Excelom
Odgovori
zvonem
Prispevkov: 95
Pridružen: Če Sep 29, 2005 10:54 pm

Vstavljanje makra v drug makro

Odgovor Napisal/-a zvonem »

Pozdravljeni! Nekaj časa sem dal "mir", sedaj sem pa spet pred problemom: imam dva makra (enega, priznam, je naredil Matjaž). Prvi mi ob kliku na poljubno celico v stolpcu "I" izpiše črko "X", drugi mi pa iz iz iste vrstice prepiše določene podatke na drug list. Vsak zase delujeta povsem tako, kot sem si zamislil; če pa v prvi makro vstavim drugega, pa stvar enostavno ne deluje. Kaj je narobe?
Prilagam kodo za prvi makro: Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If (Not Intersect(Target, Range("i4:i5000")) Is Nothing) Then
ActiveCell.Value = "X"
Cancel = True
End If

End Sub ... in kodo z vpisanim drugim: Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If (Not Intersect(Target, Range("i4:i5000")) Is Nothing) Then
ActiveCell.Value = "X"
Cancel = True
End If
KopirajPodatkeVRačun

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

Re: Vstavljanje makra v drug makro

Odgovor Napisal/-a admin »

Pozdravljeni,

Če boste kar takole malce streljali po kodi in tiščali nekaj kode sem nekaj tja, ne boste nikoli ustvarili delujučega programa / makra. Malce se boste vseeno morali poglobiti v programiranje ali pa to dejavnost preprosto opustiti.

Glede na kodo, ki ste jo pripeli sklepam, da želite da se drugi makro (KopirajPodatkeVRačun) izvede samo v primeru, če je izpolnjen pogoj in se je v celico vnesel X, v tem primeru, je torej potrebno drugi makro poklicati znotraj pogojnega stavka:

Koda: Izberi vse

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
  If (Not Intersect(Target, Range("i4:i5000")) Is Nothing) Then
    ActiveCell.Value = "X"
    KopirajPodatkeVRačun
    
    Cancel = True
  End If
End Sub
lp,
Matjaž Prtenjak
Administrator
zvonem
Prispevkov: 95
Pridružen: Če Sep 29, 2005 10:54 pm

Re: Vstavljanje makra v drug makro

Odgovor Napisal/-a zvonem »

Matjaž, hvala :D
Logika mi je popolnoma zatajila :oops:
Deluje!!!
Odgovori