Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Bereich in ein anderes Tabellenblatt kopieren

Bereich in ein anderes Tabellenblatt kopieren
23.10.2015 21:42:55
Gerald
Hallo zusammen,
ich möchte aus einem exportierten Excel-File 'Mappe1/Tabelle1' einen Bereich in eine andere Arbeitsmappe kopieren.
Bereich: Spaltenanzahl ist immer gleich A2-G2, Zeilenanzahl variiert.
In der Zieltabelle 'Mappe2/"Data_HW"' stehen schon Werte. Außerdem ist die letzte befüllte Zeile gelb markiert.
Nun soll der zu kopierende Bereich, in die Tabelle "Data_HW" vor! der gelben Zeile eingefügt werden, und zwar von Spalte B bis H.
In Spalte A werden die Zeilen durchnumneriert.
Wäre super, wenn mir jemand dazu helfen könnte!!

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bereich in ein anderes Tabellenblatt kopieren
25.10.2015 12:47:14
fcs
Hallo Gerald,
bevor man da etwas als Makro programmiert sind noch ein paar ragen offen:
1. Sind beide Arbeitsmappen geöffnet?
2. Wo kann das Makro gespeichert werden?
Eine der beiden Mappen? vermutlich Mappe2
oder deine Persönliche Makro-Arbeitsmappe?
3. Was passiert in deiner "gelben" Zeile?
Ist dort nur Text oder sind evtl. auch Formeln mit SUMME oder ähnlich in den Zellen?
4. Gibt es in den relevanten Zellbreichen A:G in Mappe1, Gelbe Zeile in Mappe2 eine Spalte in der jede Zeile ausgefüllt ist? Wichtig zur Ermittlung der letzten Zeile mit Daten.
Gruß
Franz

Anzeige
AW: Bereich in ein anderes Tabellenblatt kopieren
25.10.2015 15:32:50
Gerald
Hallo Franz,
danke für die Rückmeldung!
Also, beide Arbeitsmappen sind geöffnet. Das Makro sollte in die persönliche Mappe gespeichert werden.
Die gelbe Zeile in Mappe 2 ist verbunden (A:H), und es steht ein Text drin.
Mappe1 hat keine gelbe Zeile, und die Zeilen in den Spalten A:G sind komplett gefüllt. Das einzige in Mappe 1 ist, das die Zeilenanzahl variiert.
In der Mappe 2 sind auch jeweils die Zellen komplett gefüllt.
Ich hoffe die Infos reichen!
Gruß,
Gerald

Anzeige
AW: Bereich in ein anderes Tabellenblatt kopieren
25.10.2015 21:35:47
fcs
Hallo Gerald,
hier ein entsprechendes Makro.
Das Blatt in dem die Daten eingefügt werden sollen ("Data_HW") muss das aktive Blatt sein, wenn das Makro gestartet wird.
Man könnte es aber auch anders herum aufziehen und mit dem Blatt starten, in dem die zu kopierenden Daten stehen.
Gruß
Franz
Sub Copy_Daten_nach_Data_HW()
Dim wksZiel As Worksheet
Dim wkbQuelle As Workbook
Dim arrWkb() As Workbook, intWkb As Integer, intAuswahl As Integer
Dim Zeile_Z As Long, rngCopy As Range
Dim MsgPrompt As String, MsgTitle As String
Set wksZiel = ActiveSheet
MsgTitle = "Makro: Copy_Daten_nach_Data_HW"
If wksZiel.Name  "Data_HW" Then
MsgBox "Das Blatt ""Data_HW"" muss beim Start des Makros das aktive Blatt sein!", _
vbInformation + vbOKOnly, MsgTitle
Else
'geöffnete Arbeitsmappen suchen für Auswahl
For Each wkbQuelle In Application.Workbooks
If Application.Windows(wkbQuelle.Name).Visible = False Then
ElseIf wkbQuelle.Name = wksZiel.Parent.Name Then
Else
intWkb = intWkb + 1
ReDim Preserve arrWkb(1 To intWkb)
MsgPrompt = vbLf & MsgPrompt & intWkb & " - " & wkbQuelle.Name
Set arrWkb(intWkb) = wkbQuelle
End If
Next
'Inputbox für Auswahl anzeigen
intAuswahl = Application.InputBox( _
"Aus welcher Mappe sollen die Daten eingelesen werden?" & MsgPrompt, _
MsgTitle, 1, Type:=1)
Select Case intAuswahl
Case 0 'Abbruch
Case 1 To intWkb
'zu kopierenden Bereich setzen
Set wkbQuelle = arrWkb(intWkb)
With wkbQuelle.Worksheets(1)
Set rngCopy = .Range(.Cells(2, 1), .Cells(.Rows.Count, 7).End(xlUp))
End With
If rngCopy.Row > 1 Then
With wksZiel
'gelbe Zeile
Zeile_Z = .Cells(.Rows.Count, 1).End(xlUp).Row
'Leerzeilen einfügen
.Rows(Zeile_Z).Resize(rngCopy.Rows.Count).Insert
'Markieren bereich kopieren/einfügen
rngCopy.Copy Destination:=.Cells(Zeile_Z, 2)
'in Spalte A die fortlaufende Nummer fortführen
With .Cells(Zeile_Z, 1).Resize(rngCopy.Rows.Count, 1)
.FormulaR1C1 = "=IF(ISTEXT(R[-1]C1),1,R[-1]C1+1)"
.Value = .Value
End With
End With
Else
MsgBox "Keine Daten zum kopieren gefunden", vbOKOnly, MsgTitle
End If
Set rngCopy = Nothing
Set wkbQuelle = Nothing
Case Else
MsgBox "Ungültige Auswahl", vbOKOnly, MsgTitle
End Select
End If
End Sub

Anzeige
AW: Bereich in ein anderes Tabellenblatt kopieren
26.10.2015 15:48:50
Gerald
Hallo Franz,
bin begeistert!! Funktioniert einwandfrei.
Vielen, vielen Dank!
Gruß,
Gerald
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige