Microsoft Excel

Herbers Excel/VBA-Archiv

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

Gefilterte Tabelle kopieren

Betrifft: Gefilterte Tabelle kopieren von: Ernst
Geschrieben am: 05.08.2008 15:43:14

Hallo Rolf (`mein Tipp`)

Ich hatte Deine Empfehlungen an den Mitstreiter Stefan gelesen und habe mich heute als ich ein ähnliches Problem hatte - Gott sei Dank - daran erinnert.

Meinen Code habe ich versucht mit Deinen Tipps zu verbessern, was auch im Prinzip gelungen ist. Aber ........
Vielleicht ist es besser, wenn Du zuerst mal kritisch über den Code schaust.

Sub MonBrcht() 
Dim lngLast As Long 
Dim rg As Range 
Const c_wsBerichtName = "Monatsbericht" 

Sheets("Details").Select 
Selection.AutoFilter Field:=1, Criteria1:="Adhoc Service Fachbereiche" 
Set rg = Cells.Find("*", Cells(1, 1), xlFormulas, , xlByRows, xlPrevious) 
If rg Is Nothing Then 
lngLast = 0 
Else 
lngLast = rg.Row 
End If 
If lngLast < 2 Then 
MsgBox "Keine Daten zum Kopieren" 
Exit 

Sub 
End If 
Rows("4:" & lngLast).Copy Worksheets("Monatsbericht").Cells(lnglast2 + 1, 1) 
Selection.AutoFilter Field:=1 



Sheets("Details").Select 
Selection.AutoFilter Field:=1, Criteria1:="30. Support/Wartung" 
Set rg = Cells.Find("*", Cells(1, 1), xlFormulas, , xlByRows, xlPrevious) 
If rg Is Nothing Then 
lngLast = 0 
Else 
lngLast = rg.Row 
End If 
If lngLast < 2 Then 
MsgBox "Keine Daten zum Kopieren" 
Exit 

Sub 
End If 
Rows("4:" & lngLast).Copy Worksheets("Monatsbericht").Cells(lnglast2 + 1, 1) 
Selection.AutoFilter Field:=1 

End 

Sub 


Noch einige zusätzliche Infos: 

In dem Arbeitsblatt 'Details' werden von einem Mitarbeiter Daten über seine in einem Monat  _
geleistete Arbeit eingetragen. Diese Liste wird mir zugeschickt. Bislang hatte ich immer einen kleinen Kampf mit diesen Daten, weil ich sie vor der endgültigen Verarbeitung immer in eine gewisse Ordnung bringen muss. 
Da kam mir Dein Code schon zu rechten Zeit in Erinnerung. 

Aber - das Blatt, was im Code den Namen 'Monatsbericht' trägt, hat am oberen Rand einen Info- _
Kopf von insgesamt 9 Zeilen. Die Übertragung darf deshalb erst auf der 10.ten Zeile beginnen. 
Der Code so, wie er oben ist, zerschlägt aber diese Informationen und schreibt seine Ü _
bertragung in die erste Zeile. Zusätzlich kommt noch hinzu, dass er bei der Übertragung des zweiten Paketes nicht! berücksichtigt, dass da schon Daten stehen und die zweite Übertragung sich hinten anschliessen soll. 

Und da kommen noch 5 weitere Pakete. 

Obwohl ich glaubte, dass ich Deinen Code verstanden hätte, muss noch etwas Wichtiges falsch  _
sein. 

Kannst Du 'Deinem' Code aus der Patsche helfen? Es wäre nett wenn Du mir einige Infos zur  _
Unterstützung geben könntest. 

Ich war so happy als ich die erste Übertragung kontrolliert hatte, wo ich mich noch auf die  _
Zeile '10' festgelegt hatte. Bei der zweiten Übertragung ging das aber nicht mehr. 


Vielen Dank schon mal - und frdl. Grüße 

Ernst 


 

Beiträge aus den Excel-Beispielen zum Thema "Gefilterte Tabelle kopieren"