PDA

Vollständige Version anzeigen : Problem beim Kopieren unzusammenhängender Bereiche und einfügen in andere Arbeitsmapp


Jahanosch
20.09.2011, 14:40
Hallo liebe Leute,

ich habe grade folgendes Problem.
Ich darf aus 'nem ziemlich großen Haufen von Exceldateien bestimmte Bereiche in "neue" Dateien übertragen. Es werden quasi viele Dateien zu einer größeren zusammengefasst.

(vielleicht sollte ich erwähnen, dass ich hier grad mit Excel 2002 arbeite)

Da es zeit- und konzentrationsraubend ist jedes mal die Teilbereiche zu kopieren und in der anderen Datei einzufügen hab ich mal angefangen rumzubasteln und mir dazu Inspiration im Internet gesucht.

Nun hab ich mir ein Makro erstellt, das die Bereiche (die in jeder der Ursprungsdateien gleich sind) kopiert.

Folgender Maßen sieht der Code aus:


Sub zellen_markieren()

Range( _
"B9:BS13,B17:BS21,B25:BS29,B33:BS37,B41:BS45,B49:BS53,B71:BS75,B79:BS83,B87:BS91, B95:BS99,B103:BS107" _
).Select
Range("B103").Activate
End Sub


Dann hab ich mir ein wenig Code zusammengesucht und folgender läuft nahezu perfekt:

Option Explicit
Private Sub CommandButton1_Click()
Dim rngBereich As Range
If Me.ComboBox1.ListIndex > -1 _
And Me.ComboBox2.ListIndex > -1 Then

For Each rngBereich In Selection.Areas
rngBereich.Copy _
Destination:=Workbooks(Me.ComboBox1.Value).Worksheets(Me.ComboBox2.Value).Range( rngBereich.Address)
Next rngBereich

End If
End Sub

Private Sub Label2_Click()

End Sub

Private Sub UserForm_Initialize()
Dim wb As Workbook
For Each wb In Workbooks
If wb.Name <> ThisWorkbook.Name Then
Me.ComboBox1.AddItem wb.Name
End If
Next wb
Set wb = Nothing
End Sub
Private Sub ComboBox1_Change()
Dim ws As Worksheet
For Each ws In Workbooks(Me.ComboBox1.Value).Worksheets
Me.ComboBox2.AddItem ws.Name
Next ws
End Sub


die userform wird über ein weiteres makro aufgerufen und ermöglicht 's mir, relativ schnell (huch - wo ist das gespür für klein- und großbuchstaben hin?) die entsprechend markierten daten in die andere arbeitsmappe und das ausgewählte tabellenblatt zu übertragen.
und nun kommt der haken: bei der neuen datei hat sich eine leere zeile "verabschiedet". somit tauchen die daten bis dahin, wo sämtliche zellen noch identisch sind, richtig auf - danach sind sie allerdings um eine zeile verschoben.
bei der nicht mehr vorhandenen zeile handelt es sich um zeile 46. die einfach wieder einzufügen ist nicht machbar, weil dann diverse formeln nicht mehr entsprechend laufen.

hat jemand 'ne idee wie sich das problem möglichst einfach in den griff bekommen lässt?

beste grüße und vielen dank im voraus,
Janosch