V excelu imam narejeno zapleteno formulo. Zadeva deluje na tak način da vpišem vrednost v polje B2 rezultat pa se pojavi v polju C9. Sedaj pa si želim narediti makro da bi mi kopiral vsako vrstico iz stolpca L v polje B2. Po kopiji vrednosti v to polje excel vrne rezultat v polju C9 nato pa bi makro rezultat kopiral v posamezno vrstico v stoplcu M. Za prvo, drugo in tretjo vrstico makro izgleda takole:
Range("L1").Select
Selection.Copy
Range("B2").Select
ActiveSheet.Paste
Range("C9").Select
Application.CutCopyMode = False
Selection.Copy
Range("M1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Za drugo vrstico v L stolpcu
Range("L2").Select
Selection.Copy
Range("B2").Select
ActiveSheet.Paste
Range("C9").Select
Application.CutCopyMode = False
Selection.Copy
Range("M2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Za tretjo vrstico v L stolpcu
Range("L3").Select
Selection.Copy
Range("B2").Select
ActiveSheet.Paste
Range("C9").Select
Application.CutCopyMode = False
Selection.Copy
Range("M3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Kako naj ta makro preprosto apliciram na celoten L stolpec (imam okrog 8000 vrstic podatkov), rezultate pa želim videti v M stolpcu na način kot je prikazano v gornjem makroju?
Za odogvore že vnaprej hvala!
Izdelava makroja v excel-u
Pozdravljeni v forumu,
spodaj imate makro, ki vam bo izvedel kar želite. Vpisati morate samo številko prve vrstice s podatki v koloni L in makro bo obdeloval kolono L od podane vrstice dalje- dokler ne naleti na prazno vrstico, kjer se makro ustavi.
spodaj imate makro, ki vam bo izvedel kar želite. Vpisati morate samo številko prve vrstice s podatki v koloni L in makro bo obdeloval kolono L od podane vrstice dalje- dokler ne naleti na prazno vrstico, kjer se makro ustavi.
Koda: Izberi vse
' www.matjazev.net
' marec 2010
Sub IzvajajFormulo()
Dim vrstica As Long: vrstica = 1 '<- sem vpišite prvo vrstico s podatki
While (Cells(vrstica, 12).Value <> "")
Range("b2") = Cells(vrstica, 12)
Cells(vrstica, 13) = Range("c9")
vrstica = vrstica + 1
Wend
End Sub
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator