Kezdőlap › Fórumok › Excel programozás › [Resolved] Nyomtatás példányszám
- This topic has 1 hozzászólás, 2 résztvevő, and was last updated 4 years, 9 months telt el by delila.
-
SzerzőBejegyzés
-
2020-01-21-21:19 #6689
Sziasztok!
Készítettem egy makrót címkék nyomtatásához. Az D oszlopban az üzlet száma/neve szerepel ami a címkén kell legyen, a E oszlopban pedig egy természetes egész szám ami a példányszámot jelöli.
Így néz ki a makró:
Sub Udskriv() ' ' Udskriv Makro ' ' Range("D5").Select Selection.Copy Range("C3").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("A1:C4").Select Selection.PrintOut Copies:=Range("E5").Value, Collate:=True Range("D6").Select Application.CutCopyMode = False Selection.Copy Range("C3").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("A1:C4").Select Application.CutCopyMode = False Selection.PrintOut Copies:=Range("E6").Value, Collate:=True . . . Range("D34").Select Selection.Copy Range("C3").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("A1:C4").Select Selection.PrintOut Copies:=Range("E34").Value, Collate:=True Range("D35").Select Selection.Copy Range("C3").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("A1:C4").Select Selection.PrintOut Copies:=Range("E35").Value, Collate:=True End Sub
Működik is a dolog egész addig, míg az E oszlopban 0-nál nagyobb szám szerepel, ellenkező esetben hiba lép fel. Hogyan tudnám ezt a hibát orvosolni?
Elég kezdő vagyok excel-programozásban, ötletem van hogy mit lehetne csinálni, csak nem tudom megvalósítani(már ha működik az ötlet).
Ha az első vizsgált cella, E5>0 akkor végrehajtja az első műveletet, ellenkező esetben ugrik a következő cellára (E6), és így tovább.2020-01-22-07:55 #6691Szia!
Megállapítjuk, meddig kell másolni az adatokat. Ezt a D oszlop alsó sora mutatja. Egy For-Next ciklussal végig megyünk a D oszlop adatain, D5-től a D utolsó sorig. A mindenkori példányszámot az aktuális sor E oszlopa adja.
Sub Udskriv() Dim sor As Long, usor As Long, peldany As Integer usor = Range("D" & Rows.Count).End(xlUp).Row 'alsó sor a D oszlopban For sor = 5 To usor Range("D" & sor).Copy Range("C3") 'aktuális üzletnév másolása D-ből a C3-ba peldany = Range("E" & sor) 'példányszám az akt. sor E oszlopából If peldany > 0 Then Range("A1:C4").PrintOut Copies:=peldany, Collate:=True Next End Sub
-
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.