Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Druckproblem

Betrifft: Druckproblem von: Walter
Geschrieben am: 13.08.2008 12:36:48

Hallo Excelfreunde.
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

  

Betrifft: AW: Druckproblem von: Hajo_Zi
Geschrieben am: 13.08.2008 12:49:52

Hallo Walter ,

der Suchwert wird nicht gefunden.


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



GrußformelHomepage


  

Betrifft: AW: Druckproblem von: Ramses
Geschrieben am: 13.08.2008 12:56:13

Hallo

Gehe mal Stück für Stück durch deinen Code

Sheets("Eingabe").Cells(Rows.Count, 15).End(xlUp).Text

Ergibt in deiner Tabelle den Wert 6
Was willst du dann damit in der Ladeliste in Spalte P suchen ?

Gruss Rainer


  

Betrifft: AW: Druckproblem von: Walter
Geschrieben am: 13.08.2008 13:25:22

Hallo Excelfreunde,
habe das Makro von Hajo eingesetzt, aber es druckt nicht, auch keine Fehlermeldung.
Welchen Wert muß ich für 15 einsetzen und warum?

Gruß
Walter


  

Betrifft: AW: Druckproblem von: Hajo_Zi
Geschrieben am: 13.08.2008 13:41:36

Hallo Walter,

was hälsts Du davon die Frage von Rainer zu beantworten. Die hat er sich bestimmt nicht umsonst ausgedacht?

Gruß Hajo


  

Betrifft: AW: Druckproblem von: fcs
Geschrieben am: 13.08.2008 13:42:19

Hallo Walter,

Im Blatt "Ladeliste" willst du in Spalte 3 (AB-Nummer) die Zeile mit der Nummer suchen, die im Blatt "Eingabe" in der letzten Zeile steht. In "Eingabe" stehen die AB-Nrn in Spalte 5 (E).

Somit müßte dein Code wie folgt sein:


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


  

Betrifft: AW: Druckproblem von: Walter
Geschrieben am: 13.08.2008 13:51:57

Hallo Hajo, Rainer und Franz

Danke Euch Allen für die bestimmt guten Ratschäge, doch da ich über kein Wissen von VBA habe
bin ich nun ganz verwirrt.
Wäre nett wenn Ihr mein VBA in der LadelisteII korregieren könntet.
Danke an Euchg
Walter


  

Betrifft: AW: Druckproblem von: fcs
Geschrieben am: 13.08.2008 17:17:45

Hallo Walter,

du wirst doch wohl in der Lage sein, die im Modul1 im VBA-Projekt deiner Datei vorhandene Prozedur "Drucken" durch meinen angepassten Vorschlag zu ersetzen.

Und die benutzerdefinierte Formatierung in der Spalte "AB-Nr." in den beiden Blättern identisch zu machen kann ja wohl bei "Excel - gut" auch nicht das Problem sein.

Gruß
Franz


  

Betrifft: AW: Druckproblem von: Daniel
Geschrieben am: 13.08.2008 17:25:08

HI
wenn du keine Ahnung von VBA hast, dann solletst du es auch nicht verwenden, und wenn, dann nur fertige Programmmodule, die vollständig von Fachleuten programmiert und ausreichend getestet wurden, so daß du dich nicht mehr um den Code kümmern musst.

solange du solche handgestrickten sachen einsetzt, solltest du das nur machen, wenn du den Code auch verstehst und selbst pflegen und warten kannst, ansonsten lass es, du kannst ja nicht immer hier im Forum um Hilfe rufen, nur weil sich an deiner Datei ne kleinigkeit geändert hat.

warum kommt der Fehler?
da ist ein Zahlendreher in den Spalten drin, dh. es wird einfach der Wert aus einer falschen Spalte für die Suchfunktion verwendet, dieser kann dann natürlich nicht gefunden werden.

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


  

Betrifft: AW: Druckproblem von: Walter
Geschrieben am: 18.08.2008 14:59:37

Danke für alle Hilfen.
Habe es auf diese Art gelöst.

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


  

Betrifft: AW: Druckproblem von: Walter
Geschrieben am: 18.08.2008 14:59:48

Danke für alle Hilfen.
Habe es auf diese Art gelöst.

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