Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1452to1456
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
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!!

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

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

326 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige