Anzeige
Archiv - Navigation
1764to1768
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

Kopieren u. Einfügen mit Bedingung

Kopieren u. Einfügen mit Bedingung
10.06.2020 06:16:50
Charly
Hallo u. Guten Morgen,
komm mal wieder nicht weite.
Mein Vorhaben lautet Kopieren u. Einfügen mit Bedingung.
Eine Excel-Mappe mit vier Tabellen.
- Tabelle 1; 2; 3, hierbei handelt es sich um Namen (Nachname, Vorname)
- Tabelle 4, Auflistung der Namen mit Bedingung
* Bedingung1:
- Kopiere Spalte "B" ab Zelle B2 aus Tabelle 1; 2; 3;
- Füge die Kopie in Spalte "A" im Tabelle4 ab Zeile A2 untereinander ein, oh. Formatierung
* Bedingung2:
- Filter, Sortiere alle Doppel Namen aus (Löschen)
- Sorte die Spalte "A" ab Zeile A2, alphabetisch (A-Z)
* Bedingung3:
- Automatisches Update, Tabelle 4 prüfe ob weitere neue Namen in den Tabellen 1; 2; 3; hinzugekommen sind
# Bsp.: beim Öffnen der Mappe
Das Kopieren von Tab1 in Tab4 hab ich hin bekommen, beim der Rest haperts noch.
Bsp-Mappe anbei:
https://www.herber.de/bbs/user/138176.xlsm
Gruß Charly

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kopieren u. Einfügen mit Bedingung
10.06.2020 06:22:37
Charly
Sorry fehlte noch
Danke im Vorfeld für jegliche Hilfe.
Gruß Charly
AW: Kopieren u. Einfügen mit Bedingung
10.06.2020 10:12:38
Werner
Hallo,
hier deine Datei mit den Makros.
Beim Öffnen der Datei wird einfach das entsprechende Makro aufgerufen.
https://www.herber.de/bbs/user/138184.xlsm
Gruß Werner
AW: Kopieren u. Einfügen mit Bedingung
10.06.2020 23:43:02
Charly
Nabend Werner
Danke für deine Schnelle Antwort u. Lösung meines Problems.
Habe nun die Datei Testen können, sieht Super aus Danke nochmals dafür.
Beim Testen viel mir auf das wenn Kopiert wird u. dann in Tab.4 Eingefügt wird das dann die Formatierung mit Kopiert wird.

loLetzteZ = .Cells(.Rows.Count, "A").End(xlUp).Row
If loLetzteZ > 2 Then
With .Range("A3:A" & loLetzteZ)
.Borders(xlDiagonalDown).LineStyle = xlNone
.Borders(xlDiagonalUp).LineStyle = xlNone
'                        With .Borders(xlEdgeLeft)
'                            .LineStyle = xlContinuous
'                            .ColorIndex = xlAutomatic
'                            .TintAndShade = 0
'                            .Weight = xlThin
'                        End With
'                        With .Borders(xlEdgeTop)
'                            .LineStyle = xlContinuous
'                            .ColorIndex = xlAutomatic
'                            .TintAndShade = 0
'                            .Weight = xlThin
'                        End With
'                        With .Borders(xlEdgeBottom)
'                            .LineStyle = xlContinuous
'                            .ColorIndex = xlAutomatic
'                            .TintAndShade = 0
'                            .Weight = xlThin
'                        End With
'                        With .Borders(xlEdgeRight)
'                            .LineStyle = xlContinuous
'                            .ColorIndex = xlAutomatic
'                            .TintAndShade = 0
'                            .Weight = xlThin
'                        End With
.Borders(xlInsideVertical).LineStyle = xlNone
.Borders(xlInsideHorizontal).LineStyle = xlNone
End With
End If

Dies habe Ich korrigiert in dem ich einen Teil des Codes aus kommentiert habe.
Nun lauft es Perfekt, auch beim Öffnen der Mappe u. dem dazugehörigen neu Einlesen in Tab.4.
Vielen, Vielen Dank!!!
Gruß Charly
Anzeige
Gerne u. Danke für die Rückmeldung und..
11.06.2020 08:56:45
Werner
Hallo,
...da werden keine Formatierungen mitkopiert. Den Rahmen habe ich doch im Code zugewiesen - deshalb konntest du ihn ja auch auskommentieren. Lösch den Teil einfach aus dem Code raus, wozu auskommentieren und stehen lassen?
Dazu ein Hinweis:
Das habe ich deshalb gemacht, weil in deiner Beispielmappe im Zielblatt ein Rahmen um die Daten war. Deshalb bin ich davon ausgegangen, dass das so sein soll.
Zukünftig so etwas in einer Beispielmappe unterlassen - ich kann ja nicht wissen, dass du das gar nicht haben willst. Kann mich nur an dem orientieren, was du als Beispielmappe zeigst.
Gruß Werner
Anzeige
AW: Kopieren u. Einfügen mit Bedingung
12.06.2020 01:38:29
Charly
Hallo Werner
weil in deiner Beispielmappe im Zielblatt ein Rahmen um die Daten war.
Sorry für das Missverständnis, dies hab ich wohl Vergessen zu entfernen.
Den Auskommentierten Code hab ich bereits entfernt.
Könntest du mir eventuell noch mal bei einer kleinen Sache Helfen.
Ich habe jetzt den Code in mein Projekt Eingefügt, Angepasst u. nun mit der eigentlichen Mappe gestartet.
Dabei viel mir auf das wenn der Code durchlauft u. jede Tabelle abarbeitet auch leere Tabellen mit kopiert.
Soll heißen, in der Bsp.-Mappe hatte ich ja 3 Tabellen angegeben, in der Eigentlichen Mappe habe ich 7 Tabellen. Zwei von dehnen sind noch nicht in der Spalte ("B") befühlt, dort steht nur die Überschrift "Name" in Zelle ("B2"). Beim Kopiervorgang wird dann aber die Überschrift Kopiert, was eigentlich nicht sein sollte.

loLetzteQ = .Cells(.Rows.Count, "B").End(xlUp).Row
.Range(.Cells(3, "B"), .Cells(loLetzteQ, "B")).Copy
Frage:
Ist es möglich bei der Suche zu berücksichtigen das wenn "loLetzteQ" nur bis Zeile 2 kommt, dies dann abbricht u. zur Nächten Tabelle springt.
Hier die Bsp.-Mappe zum oben genanten Problem, in Tabelle3 ist die Spalte "B" leer.
https://www.herber.de/bbs/user/138230.xlsm
Danke im Vorfeld
Gruß Charly
Anzeige
AW: Kopieren u. Einfügen mit Bedingung
12.06.2020 06:09:28
ralf_b

loLetzteQ = .Cells(.Rows.Count, "B").End(xlUp).Row
'wenn .Rows.count nur den bestimmten bereich durchzählt, dann ist die erste Zeile die Ü _
berschrift
if loLetzte@ > 1 then
.Range(.Cells(3, "B"), .Cells(loLetzteQ, "B")).Copy
end if 

AW: Kopieren u. Einfügen mit Bedingung
12.06.2020 09:34:43
Charly
Hallo ralf_b
Danke für deine Antwort.
Wenn ich die Änderung/Ergänzung so übernehme passiert folgendes.
1. Versuch mit loLetzteQ > 1 then
Der Code läuft durch wie bisher inkl. Kopieren der Überschrift.

2. Versuch mit loLetzteQ > 2 then
Fehlermeldung: Laufzeitfehler "1004"
Die PasteSpecial-Methode des Range-Objektes konnte nicht ausgeführt werden.
Anmerkung:
Die Überschrift befindet sich jeweils in ("B2"). Bsp. siehe Bsp.-Mappe.
Gruß Charly
Anzeige
AW: Kopieren u. Einfügen mit Bedingung
13.06.2020 04:58:31
Charly
Hallo ralf_b
Danke für deine Rückmeldung u. der Änderung, Funktioniert super.
Danke schön...
Gruß Charly

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige