Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1508to1512
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
Bei einigen Spalte nur leere Felder füllen
23.08.2016 11:21:07
Rene
Hallo zusammen,
ich bin am verzweifeln, der Code funktioniert nicht ganz so wie er soll :( .
Ich möchte gern Spalten von einer Tabelle in eine andere übertragen dies funktioniert auch ohne Probleme, nun habe ich aber einige Spalten, wo nur die geleerten Spalten gefüllt werden sollen und nicht die vorhanden überschrieben werden.
Der Code füllt die Spalten teilweise lässt aber auch einige leer.
Anbei der Code:
Private Sub CommandButton7_Click()
' Daten werden kopiert und in eine andere Datei kopiert.
Dim WB1 As Workbook, WB2 As Workbook
Dim WS1 As Worksheet, WS2 As Worksheet
Const Pfad = "L:\VPTA-Zeitmessung\06 Vorbereitung VPTA\"
Const Datei = "151202_LIST_Vorbereitung_Liste_TEST.xlsx"
Set WB1 = ThisWorkbook
Set WB2 = Workbooks.Open(Pfad & Datei)
Set WS1 = WB1.Worksheets("Vorbreitung_VPTA")
Set WS2 = WB2.Worksheets("Tabelle1")
WS1.Range("D3:D999").Copy WS2.Range("A3")
WS1.Range("E3:E999").Copy WS2.Range("B3")
'Nur die Zellen werden überschrieben die noch nicht gefüllt sind
If WS2.Range("C3").Text = "" Then
WS1.Range("F3:F999").Copy
WS2.Range("C3").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, _
Transpose:=False
End If
WS1.Range("G3:G999").Copy WS2.Range("D3")
WS1.Range("H3:H999").Copy WS2.Range("E3")
WS1.Range("I3:I999").Copy WS2.Range("F3")
WS1.Range("J3:J999").Copy
WS2.Range("G3").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False,  _
Transpose:=False
WS1.Range("K3:K999").Copy WS2.Range("H3")
WS1.Range("L3:L999").Copy WS2.Range("I3")
WS1.Range("M3:M999").Copy WS2.Range("J3")
WS1.Range("N3:N999").Copy WS2.Range("K3")
'Nur die Zellen werden überschrieben die noch nicht gefüllt sind
If WS2.Range("O3").Text = "" Then
WS1.Range("S3:S999").Copy
WS2.Range("P3").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, _
Transpose:=False
End If
WS1.Range("T3:T999").Copy WS2.Range("Q3")
WS1.Range("V3:V999").Copy
WS2.Range("S3").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False,  _
Transpose:=False
WB2.Close savechanges:=True
End Sub

Es geht einmal um Spalte C und O in der Zieldatei.
Habe auch schon andere Varianten ausprobiert funktioniert genauso wenig.
Ich hoffe ihr könnt mir ein Denkanstoß geben.
mfg Rene

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bei einigen Spalte nur leere Felder füllen
23.08.2016 11:25:37
Werner
Hallo Rene,
was steht denn in deinen Spalten C bzw. O drin?
Gruß Werner
AW: Bei einigen Spalte nur leere Felder füllen
23.08.2016 12:33:42
Rene
Hi Werner,
beides sind als Texte formatiert anbei mal ein Screenshot der Zieltabelle, die Quelldatei dort sind bei beiden Spalte wo er sich die Daten herzieht S-Verweise vorhanden, deshalb auch die Unformatierung.
Userbild
Vielen Dank für die RM.
lg
AW: Bei einigen Spalte nur leere Felder füllen
23.08.2016 18:41:15
Piet
Hallo Rene
ich erinneren mich das ich meines Wissens bei diesem Kopieren behilflich war. Richtig?
Du hast aber einen dummen kleinen Flüchtigkeitsfehler, und üersiehst ihn offenbar! Auch normal.
Du prüfst die Zelle O3 mit: Range("O3").Text - aber du kopiertst dannach in "P3" Ist das richtig?
Ich habe da Zweife, schaue es dir bitte selbst an.
mfg Piet
If WS2.Range("O3").Text = "" Then
WS1.Range("S3:S999").Copy
WS2.Range("P3").Pastespecial

Anzeige
AW: Bei einigen Spalte nur leere Felder füllen
24.08.2016 08:30:05
Rene
Hi Piet,
Okay Fehler geklärt :(. Da schaut man Stunden lang drauf und dann übersieht man sowas :(.
Vielen Dank im Voraus.
lg
AW: Bei einigen Spalte nur leere Felder füllen
24.08.2016 08:36:01
Rene
Hi Piet, mein Problem ist dadurch immer noch nicht gelöst den wenn O3 gefüllt ist, führt er den Code nicht durch aber ich habe zum Bsp ab O25 wieder Zellen die gefüllt werden müssten und diese füllt er dadurch nicht.
AW: Bei einigen Spalte nur leere Felder füllen
24.08.2016 15:30:49
Piet
Hallo Rene,
okay, wie muss man dann die Spalte O genau eingrenzen? D.h. von welcher Zeile bis welche Zeile müsste dann
doch kopiert werden, wenn Zelle O3 Leer ist. Man könnte es so machen, mit einem nachfolgendem ElseIf:
den richtigen Bereich musst du dann bitte selbst anpassen. Ist ja nur einBeispiel wie es geht.
mfg Piet
If WS2.Range("O3").Text = "" Then
WS1.Range("S3:S999").Copy
WS2.Range("O23").PasteSpecial Paste:=xlPasteValues, Transpose:=False
ElseIf WS2.Range("O25").Text = "" Then
WS1.Range("S25:S999").Copy
WS2.Range("O25").PasteSpecial Paste:=xlPasteValues, Transpose:=False
End If

Anzeige
AW: Bei einigen Spalte nur leere Felder füllen
24.08.2016 15:33:44
Rene
Okay, vielen Dank!

196 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige