Bitte um Euere Hilfe bei dem Makro.
Löschen geht, nur bei dem anklicken von "drucken" wird debuggen verlangt.
https://www.herber.de/bbs/user/54577.xls
Danke für die Hilfe.
Gruß
Walter
Sub Drucken()
Dim Zeile As Long
Dim RaFind As Range
Set RaFind = Sheets("Ladeliste").Columns(3).Find(what:=Sheets("Eingabe").Cells(Rows. _
Count, 15).End( _
xlUp).Text, lookat:=xlWhole, LookIn:=xlValues)
If RaFind Is Nothing Then Exit Sub
Zeile = RaFind.Row + 1
Sheets("Ladeliste").PageSetup.PrintArea = "$A$1:$L$" & Zeile
Sheets("Ladeliste").PrintOut preview:=True
End Sub
Sub Drucken()
Dim Zeile As Long, Zelle As Range
With Sheets("Eingabe")
Set Zelle = Sheets("Ladeliste").Columns(3).Find(what:=.Cells(.Rows.Count, _
5).End(xlUp).Text, lookat:=xlWhole, LookIn:=xlValues)
End With
If Zelle Is Nothing Then
MsgBox "Wert aus Eingabe in Ladeliste nicht gefunden!"
Else
Zeile = Zelle.Row
Sheets("Ladeliste").PageSetup.PrintArea = "$A$1:$L$" & Zeile
Sheets("Ladeliste").PrintOut preview:=True
End If
End Sub
Zusätzlich muss du in den beiden Blättern die benutzerdefinierte Formatierung für die AN-nr.-Spalte in den beiden Blättern identisch machen!
Gruß
Franz
Sub Drucken()
Dim Zeile As Long
Zeile = Sheets("Ladeliste").Columns(3).Find(what:=Sheets("Eingabe").Cells(Rows.Count, 15 _
).End(xlUp).Text, lookat:=xlWhole, LookIn:=xlValues).Row + 1
Sheets("Ladeliste").PageSetup.PrintArea = "$A$1:$L$" & Zeile
Sheets("Ladeliste").PrintOut preview:=True
End Sub
im Code ist die fett-markierte 15 falsch und muss durch eine 5 ersetze werden.
der Code funktioniert so, daß der letzte Eintrag für die AB-Nr aus dem Blatt Eingabe genommen und im Blatt Ladeliste gesucht wird. Entsprechend müssen die Spalten-Nummern in dieser CodeZeile gewählt werden.
desweiteren sehe ich gerade, daß die "17 - " nicht zum Wert gehört, sondern nur durch Formatierung hinzu kommt, diese Formatierung ist aber unterschiedlich, dh. einmal "17-" und einmal "17 - "
daher muss das fett markierte .TEXT durch .VALUE ersetzt werden, sowie die Suchoption LOOKAT von xlWhole auf xlPart geändert werden
außerdem hast du inzwischen die verbundenen Zellen entfernt, daher kann das "+1" am ende auch entfallen.
korrekt sieht die Zeile dann so aus:
Zeile = Sheets("Ladeliste").Columns(3).Find(what:=Sheets("Eingabe").Cells(Rows.Count, 5). _
End(xlUp).Value, lookat:=xlPart, LookIn:=xlValues).Row
damit sollte es wieder funktionieren, aber du musst dir darüber im klaren sein, daß jede strukurelle Änderung der Datei (neue Zeilen, neue Spalten, Änderungne bei Verbundenen Zellen usw) immer auch eine Anpassung im Makro nach sich führen kann.
daher warne ich davor, Makros einzusetzen, die man nicht versteht und an denen man diese Pflegearbeiten nicht selbst ausführen kann.
Gruß, Daniel
Sub BereichDrucken()
Dim ROW, Zeile, Spalte As Integer
' Auswahl des Arbeitsblattes
Sheets("Eingabe").Select
' Durchlaufen der Spalten und prüfen des Inhaltes
' Wenn der Inhalt leer ist wird der Lauf gestoppt
For ROW = 3 To 103
If Cells(ROW, 33) = "" Then Exit For
Next ROW
' definieren der letzten gefüllten Zeile
Zeile = (ROW - 1)
' MsgBox (Zeile)
' Festlegen des Bereiches zum Drucken
' Arbeitsblatt 1 (Eingabe) und Bereich für den Direktdruck
With Worksheets(1)
.Range(.Cells(1, 31), _
.Cells(Zeile, 42)).PrintOut Copies:=1
End With
End Sub
Danke
Walter
Sub BereichDrucken()
Dim ROW, Zeile, Spalte As Integer
' Auswahl des Arbeitsblattes
Sheets("Eingabe").Select
' Durchlaufen der Spalten und prüfen des Inhaltes
' Wenn der Inhalt leer ist wird der Lauf gestoppt
For ROW = 3 To 103
If Cells(ROW, 33) = "" Then Exit For
Next ROW
' definieren der letzten gefüllten Zeile
Zeile = (ROW - 1)
' MsgBox (Zeile)
' Festlegen des Bereiches zum Drucken
' Arbeitsblatt 1 (Eingabe) und Bereich für den Direktdruck
With Worksheets(1)
.Range(.Cells(1, 31), _
.Cells(Zeile, 42)).PrintOut Copies:=1
End With
End Sub
Danke
Walter