Telefonszámunk: 1-472-0679

[Resolved] Nyomtatás példányszám

Kezdőlap Fórumok Excel programozás [Resolved] Nyomtatás példányszám

Topic Resolution: Resolved
2 bejegyzés megtekintése - 1-2 / 2
  • Szerző
    Bejegyzés
  • #6689
    ngyrpd
    Felhasználó

      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.

      • A témakör módosításra került: 4 years, 9 months telt el-ngyrpd.
      • A témakör módosításra került: 4 years, 9 months telt el-horvimi.
      #6691
      delila
      Felhasználó

        Szia!

        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
      2 bejegyzés megtekintése - 1-2 / 2
      • Be kell jelentkezni a hozzászóláshoz.