Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1328to1332
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
Inhaltsverzeichnis

Makro kopieren in andere Excel Mappe keine doppelt

Makro kopieren in andere Excel Mappe keine doppelt
01.09.2013 17:42:56
Michael
Hallo Zusammen, bin am verzweifeln, bin ja leider nur nen Anfänger..
Das Makro kopiert alle Spalten von allen Tabellenblättern.. ich würde aba gerne das ich den Bereich festlegen kann, wo er sich die Daten herholt. Bekomm es net hin das umzuschreiben for each tabelle... usw Sad
Habe schon umgeschrieben, das er sich den Tabellenblattnamen aus einer Zelle holt, das macht er au Prima, aba das andere Sad
Sub uebersicht()
Dim datei As String, pfad As String, Zzeile As Long, i%, suche, AZelle As Range
Dim ziel As Object
Dim Ziel1 As String
Ziel1 = ActiveWorkbook.Sheets("Tabelle1").Cells(1, 2).Value
Application.ScreenUpdating = False ' Bildschirmaktualisierung ausschalten
Set ziel = Workbooks("ziel.xlsm")
Zzeile = ziel.Sheets(Ziel1).Cells(Rows.Count, 5).End(xlUp).Row + 1
For Each tabelle In ThisWorkbook.Worksheets
'28 Zeilen kopieren
For i = 1 To 1000
suche = tabelle.Cells(i, 1).Value
With ziel.Sheets(Ziel1).Columns(1)
Set AZelle = .Find(suche, LookAt:=xlWhole, LookIn:=xlValues)
If AZelle Is Nothing Then
tabelle.Rows(i).Copy Destination:=.Cells(Zzeile, 1)
Zzeile = Zzeile + 1
End If
End With
Next i
DoEvents ' Benutzereingriffe zulassen z.B. Strg + C
Next tabelle
'ziel.Close savechanges:=True ' Datei schliesen
Application.ScreenUpdating = True ' Bildschirmaktualisierung einschalten
End Sub
Danke & Gruß
Michi

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro kopieren in andere Excel Mappe keine doppelt
01.09.2013 22:18:31
fcs
Hallo Michi,
Ich hab da noch Verständnisfragen:
Das Makro kopiert alle Spalten von allen Tabellenblättern.. ich würde aba gerne das ich den Bereich festlegen kann, wo er sich die Daten herholt.
Dein Makro kopiert für jeden Wert in Spalte A (1), der in der Zieltabelle in Spalte A nicht gefunden wird, die ganze Zeile in die Zieltabelle. Wenn du nur bestimmte Spalten der Zeilen kopieren willst, dann sieht das wie folgt. Falls in den kopierten Zellen Formeln sin, dann muss man ggf. anders kopieren und mit PasteSpecial arbeiten.
Zum leichteren Verständnis würde ich an deiner Stellen die Variablennamen so festlegen, dass die Namen aussagekräftiger sind. Und es ist sinnvoll für die Zieltabelle eine entsprechende Objektvariable zu definieren.
Gruß
Franz
Sub uebersicht()
Dim datei As String, pfad As String, lngZeileZiel As Long
Dim lngZeile As Long, varSuche, rngZelle As Range
Dim wkbZiel As Workbook
Dim strTabZiel As String
Dim wksQuelle As Worksheet, wksZiel As Worksheet
strTabZiel = ActiveWorkbook.Sheets("Tabelle1").Cells(1, 2).Value
Application.ScreenUpdating = False ' Bildschirmaktualisierung ausschalten
Set wkbZiel = Workbooks("ziel.xlsm")
Set wksZiel = wkbZiel.Sheets(strTabZiel)
With wksZiel
lngZeileZiel = .Cells(.Rows.Count, 5).End(xlUp).Row + 1
End With
For Each wksQuelle In ThisWorkbook.Worksheets
'28 Zeilen kopieren
For lngZeile = 1 To 1000
varSuche = wksQuelle.Cells(lngZeile, 1).Value
If varSuche  "" Then
With wksZiel.Columns(1)
Set rngZelle = .Find(varSuche, LookAt:=xlWhole, LookIn:=xlValues)
End With
If rngZelle Is Nothing Then
With wksQuelle
'Spalten A bis D in Zeile kopieren
.Range(.Cells(lngZeile, 1), .Cells(lngZeile, 4)).Copy _
Destination:=wksZiel.Cells(lngZeileZiel, 1)
'Spalten H bis J in Zeile kopieren
.Range(.Cells(lngZeile, 8), .Cells(lngZeile, 10)).Copy _
Destination:=wksZiel.Cells(lngZeileZiel, 5)
End With
lngZeileZiel = lngZeileZiel + 1
End If
End If
Next lngZeile
DoEvents ' Benutzereingriffe zulassen z.B. Strg + C
Next wksQuelle
'wkbZiel.Close savechanges:=True ' Datei schliesen
Application.ScreenUpdating = True ' Bildschirmaktualisierung einschalten
End Sub

Anzeige
AW: Makro kopieren in andere Excel Mappe keine doppelt
02.09.2013 16:53:17
Michael
Hi, danke für die Mühe, habe es nun bissi umgebaut und hinbekommen, hatte vergessen zu erwähnen, das mir dieser Vergleich der ersten Spalte wichtig is. Und er nur dann kopieren soll, wenn er neue eindeutige Werte in der ersten Spalte findet.
Gruß Michi

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige