Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Daten Übertragung mit Dialogfenster und Abfrage
Hallöchen,

hier mal der angepasste code für den Druckbereich. Ich habe aus dem Sprengstoff C4 jetzt C9 gemacht, damit geht's bis Spalte I, und "Print_Area" Durch "Druckbereich" ersetzt.

Zitat:Sub DruckBereich()
ActiveWorkbook.Names.Add Name:="Druckbereich", RefersToR1C1:= _
"='Label Bsp'!R2C1:R" & Cells(Rows.Count, 2).End(xlUp).Row & "C9"
End Sub
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
keine Änderung, beim ausdrucken, werden alle 20 seiten wo die vorlagen drauf sind mit ausgedruckt.
Antworten Top
Nochmals Hallo,

mein letzter Beitrag ist wohl etwas untergegangen?

(16.06.2020, 17:27)Pirat2015 schrieb:
Code:
Private Sub CommandButton1_Click()
'Variablendeklarationen - Integer (%)
Dim icnt1%
Dim sheet As Worksheet

Dim colCounter As Long
Dim RowCounter As Long
Dim multiplier As Long
Dim Rowmultier As Long

multiplier = 2
colCounter = 0
RowCounter = 0
Rowmultier = 0

Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
'Zieldate oeffnen
Workbooks.Open Filename:="Pfad"
'Qelldatei wieder aktivieren
Windows("Tabelle1.xlsm").Activate
'Schleife ueber Listeneintraege - Zaehlung beginnt bei 0!
Dim druck As Variant
druck = MsgBox("Please print Label", vbYes)
For icnt1 = 0 To ListBox1.ListCount - 1
'Wenn Zeileneintrag gewaelt wurde, dann
If ListBox1.Selected(icnt1) Then
  'Mit dem Zielblatt
  With Workbooks("Tabelle1").Sheets("Test1")
    'mit der ersten lleren Zelle (anhand Spalte 7)
    With .Cells(.Cells(.Rows.Count, 7).End(xlUp).Row + 1, 7)
      'Eintraege der Listbox uebernehmen, Spalten 4 bis 7 - Zaehlung beginnt bei 0!
      .Value = ListBox1.List(icnt1, 0)
      .Offset(, 1) = ListBox1.List(icnt1, 1) '2
      .Offset(, 4) = ListBox1.List(icnt1, 2) '3
      '.Offset(, 12) = ListBox1.List(icnt1, 3) '4
      .Offset(, 12).Value = CInt(Split(ListBox1.List(icnt1, 3))(0)) / 1
      .Offset(, 12 + 1).Value = Split(ListBox1.List(icnt1, 3))(1)
      .Offset(, 28) = ListBox1.List(icnt1, 4) '5
      .Offset(, 6) = ListBox1.List(icnt1, 5) '6
      .Offset(, 29) = ListBox1.List(icnt1, 6) '7
      .Offset(, 30) = ListBox1.List(icnt1, 7) '8
      .Offset(, 31) = ListBox1.List(icnt1, 8) '9
      .Offset(, 23) = ListBox1.List(icnt1, 9) '10
      .Offset(, 38) = ListBox1.List(icnt1, 9) '10
      .Offset(, 24) = ListBox1.List(icnt1, 10) '11
      .Offset(, 22) = ListBox1.List(icnt1, 11) '12
      If InStr(.Cells(.Rows.Count, 62), "PF80...") > 0 Then
      .Offset(, 1) = ListBox1.List(icnt1, 13) '13
            Else
      .Offset(, 1) = ListBox1.List(icnt1, 12) '12
            End If
      '.Offset(, 1) = ListBox1.List(icnt1, 12) '13
      '.Offset(, 1) = ListBox1.List(icnt1, 13) '14
      'beginnt bei Zelle 7 = 0
      .Cells(.Rows.Count, -4) = "9"
      .Cells(.Rows.Count, 40) = "-"
      .Cells(.Rows.Count, 38) = "local"
      .Cells(.Rows.Count, 37) = "local"
      .Cells(.Rows.Count, 41) = Format(Date, "dd.mm.yyyy")
     
'mit diesen Code Abschnitt wird der Label bzw. Labels gefüllt
      druck = True
      Set sheet = ActiveWorkbook.Sheets("Label")
      'label zellen
      sheet.Cells(Rowmultier + 1, multiplier) = ListBox1.List(icnt1, 12)
      sheet.Cells(Rowmultier + 2, multiplier) = ListBox1.List(icnt1, 1)
      sheet.Cells(Rowmultier + 3, multiplier) = ListBox1.List(icnt1, 2)
      sheet.Cells(Rowmultier + 4, multiplier) = ListBox1.List(icnt1, 3)
      sheet.Cells(Rowmultier + 5, multiplier) = ListBox1.List(icnt1, 14)
      sheet.Cells(Rowmultier + 6, multiplier) = ListBox1.List(icnt1, 11)
      sheet.Cells(Rowmultier + 7, multiplier) = ListBox1.List(icnt1, 9)
      sheet.Cells(Rowmultier + 7, multiplier + 2) = ListBox1.List(icnt1, 10)
      If colCounter < 1 Then
                        colCounter = colCounter + 1
                        multiplier = multiplier + 5
            Else
                        RowCounter = RowCounter + 1
                        colCounter = 0
                        multiplier = 2
                        Rowmultier = Rowmultier + 7
            End If
    'Ende mit der ersten lleren Zelle (anhand Spalte 6)
    End With
  'Ende Mit dem Zielblatt
  End With
'Ende Wenn Zeileneintrag gewaelt wurde, dann
End If
Next
Unload Me
      Call DruckBereich
      Tabelle1.PrintPreview
      Dim labelrange As Range
      Set labelrange = sheet.Range("B1:D1000,G1:I100")
      labelrange.ClearContents
'Zieldatei aktivieren
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
Windows("Tabelle1").Activate
Unload Me
MsgBox "Done"
End Sub

vielleicht liegt ja hier der fehler.

setze dir mal in der ersten Codezeile bzw. von mir aus auch beim Next einen Haltepunkt. Drücke dann auf die F8-Taste. Bemerkst Du dann was?
Gruß Stefan
Win 10 / Office 2016
Antworten Top
wenn ich auf next haltepunkt setze und mit f8 weiter mache, spring der code auf If ListBox1.Selected(icnt1) Then, dann wieder auf next
Antworten Top
Hallo,

und dann weiter auf die F8-Taste klicken.
Gruß Stefan
Win 10 / Office 2016
Antworten Top
springt zwischen next und  If ListBox1.Selected(icnt1) Then
Antworten Top
Hallo,

wenn in der Listbox kein Eintrag selektiert ist, wird die Tabelle nicht gefüllt. Und das kannst Du eben durch weiteres Drücken der F8-Taste herausfinden. Wenn nie in den If-Zweig gesprungen wird, dann paßt dein Druckbereich nie.
Gruß Stefan
Win 10 / Office 2016
Antworten Top
Hallo Stefan,

meinerseits ist nix untergegangen. Ich hab nur erst mal die Fehler im Code für den Druckbereich ausgemerzt. Smile Wenn der Druckbereich Label genannt wird dann wird das Blatt soweit es genutzt wird gedruckt, wenn man es nicht anders einschränkt, z.B. Druck der Auswahl. Der Druck muss in der deutschen Version Druckbereich heißen, aufzeichnen tut Excel aber leider und fälschlicherweise Print_Area. In englisch würde es damit laufen...

Das mit der Datenübertragung aus der Listbox wäre dann Faust zweiter Teil. Da war ich erst mal bei den Daten auf dem Blatt Smile
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Pirat2015
Antworten Top
Hallo André,

das passt aber nicht, wenn das Tabellenblatt Label nicht aktiv ist. Siehe die Antwort vom TE

(16.06.2020, 20:53)Pirat2015 schrieb: keine Änderung, beim ausdrucken, werden alle 20 seiten wo die vorlagen drauf sind mit ausgedruckt.

da gehört zumindest vor dem Cells noch das Worksheet.

Code:
Sub DruckBereich()
ActiveWorkbook.Names.Add Name:="Druckbereich", RefersToR1C1:= _
"='Label Bsp'!R2C1:R" & Worksheets("Label Bsp").Cells(Rows.Count, 2).End(xlUp).Row & "C9"
End Sub
Gruß Stefan
Win 10 / Office 2016
Antworten Top
Hallo André,

(17.06.2020, 16:54)schauan schrieb: Der Druck muss in der deutschen Version Druckbereich heißen, aufzeichnen tut Excel aber leider und fälschlicherweise Print_Area. In englisch würde es damit laufen...

das kann ich so nicht stehen lassen.  :21:

Code:
Sub Makro2()
  With ActiveSheet
    .PageSetup.PrintArea = .UsedRange.Address
    Debug.Print .Names("Print_Area").Name
    Debug.Print .Names("Print_Area").NameLocal
    Debug.Print .Names("Druckbereich").Name
    Debug.Print .Names("Druckbereich").NameLocal
  End With
End Sub

Gruß Uwe
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste