Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1672to1676
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
Code vereinfachen - mehrere Spalten kopieren
30.01.2019 09:56:16
Ulf
Moin,
mit dem folgendem Code kopiere die Spalten A:C und F in eine andere Tabelle.
Bei dem Versuch den Code zu vereinfachen scheiter ich leider. Ich dachte es würde in der Form wie hier funktionieren - ohne Erfolg.
Könntet ihr mir bitt helfen.
Danke
Private Sub CommandButton2_Click()
If Not IsWorkbookOpen("Data.csv") Then
MsgBox ("Data.csv ist nicht geöffnet!"), vbCritical, "DATEI ÖFFNEN"
Else
Windows("Data.csv").Activate
ActiveSheet.Range("A1:C" & Cells(Rows.Count, 1).End(xlDown).Row).Copy
ThisWorkbook.Activate
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:= _
False
Application.CutCopyMode = False
Windows("Data.csv").Activate
ActiveSheet.Range("F1:F" & Cells(Rows.Count, 1).End(xlDown).Row).Copy
ThisWorkbook.Activate
Range("F1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:= _
False
Application.CutCopyMode = False
Windows("Data.csv").Close
End If
End Sub

Gruß Ulf

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

Betreff
Datum
Anwender
Anzeige
AW: Code vereinfachen - mehrere Spalten kopieren
30.01.2019 10:55:43
Werner
Hallo Ulf,
da kannst du doch gleich die ganze Spalte kopieren.
Teste mal:
Private Sub CommandButton2_Click()
Dim wbZiel As Workbook
If Not IsWorkbookOpen("Data.csv") Then
MsgBox ("Data.csv ist nicht geöffnet!"), vbCritical, "DATEI ÖFFNEN"
Else
Set wbZiel = ThisWorkbook
With Workbooks("Data.csv").Worksheets("Tabelle1")
.Columns("A:C").Copy
wbZiel.Worksheets("Tabelle1").Range("A1").PasteSpecial Paste:=xlPasteValues
.Columns("F:F").Copy
wbZiel.Worksheets("Tabelle1").Range("F1").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End With
End If
Workbooks("Data.csv").Close False
Set wbZiel = Nothing
End If
End Sub
Die Namen der Tabellenblätter mußt du im Code noch an deine Verhältnisse anpassen.
Gruß Werner
Anzeige
AW: Code vereinfachen - mehrere Spalten kopieren
30.01.2019 11:34:14
Ulf
Danke,
ich hatte mich dahingehend festgerannt, dass die zu kopierendenden Spalten ein dynamisches Ende haben.
Deshalb das "ActiveSheet.Range("A1:C" & Cells(Rows.Count, 1).End(xlDown).Row)."
Das sollte aber mit dem neuen Code auch funktionieren.
Gruß
Ulf
Gerne u. Danke für die Rückmeldung. o.w.T.
30.01.2019 13:09:20
Werner

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige