Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1812to1816
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
VBA - PasteSpecial und selektierte Spalt
10.02.2021 11:36:27
Phillip
Hallo liebes Forum,
ich habe eine wahrscheinlich sehr einfache Frage.
Folgenden Code habe ich bereits zusammengesucht und dieser funktioniert auch soweit:

Private Sub CommandButton1_Click()
Dim ende As Long
Dim zelle As Range
If IsError(Evaluate("Tabelle1!A1")) Then
Worksheets.Add after:=Worksheets("Tabelle1")
End If
ende = Worksheets("Tabelle1").UsedRange.Rows.Count
For Each zelle In Worksheets("Tabelle1").Range("B3:B" & ende)
If Not IsEmpty(zelle) Then
zelle.EntireRow.Copy Worksheets("Tabelle2").Cells(Worksheets("Tabelle2").UsedRange. _
SpecialCells(xlLastCell).Row + 1, 1)
End If
Next zelle
End Sub

Ich habe nur noch zwei Wünsche:
Statt

zelle.EntireRow.Copy Worksheets("Tabelle2").Cells(Worksheets("Tabelle2").UsedRange.SpecialCells(xlLastCell).Row + 1, 1)

".EntireRow" sollen lediglich die Spalten A, B & C kopiert werden und dann auch nur die Werte und nicht die Formeln.
Mit ".PasteSpecial xlPasteValues" habe ich es schon versucht, aber ich weiß nicht, wo ich das in der Codezeile einbauen muss.
Vielleicht weiß ja jemand, wie diese Zeile modifiziert werden muss.
Ich bedanke mich und wünsche einen schönen Wintertag. :)
Liebe Grüße
Phillip

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - PasteSpecial und selektierte Spalt
10.02.2021 12:05:29
ralf_b
ein versuch.

Private Sub CommandButton1_Click()
Dim ende   As Long
Dim zelle  As Range
Dim ws     As Worksheet
Dim lrow   As Long
If IsError(Evaluate("Tabelle1!A1")) Then
Set ws = Worksheets.Add(after:=Worksheets("Tabelle1"))
End If
With Worksheets("Tabelle1")
ende = .UsedRange.Rows.Count
lrow = ws.UsedRange.SpecialCells(xlLastCell).Offset(1).Row
For Each zelle In .Range("B3:B" & ende)
If Not IsEmpty(zelle) Then
ws.Cells(lrow, 1).Resize(, 3).Value = .Cells(zelle.Row, 1).Resize(, 3).Value
lrow = lrow + 1
End If
Next zelle
End With
Set ws = Nothing
End Sub

Anzeige
AW: VBA - PasteSpecial und selektierte Spalt
10.02.2021 13:40:33
Phillip
Hallo Ralf,
Danke für Deinen Input.
Dein Vorschlag wirft noch einen Fehler in folgender Zeile:
lrow = ws.UsedRange.SpecialCells(xlLastCell).Offset(1).Row
Anscheinend habe ich versehentlich den Post 2x abgeschickt.
Kann ich einen Post davon löschen oder diese zusammenführen?
Ich finde hier leider keine Option dafür.
LG
Phillip
AW: VBA - PasteSpecial und selektierte Spalt
10.02.2021 14:16:36
ralf_b
schon gut, dir wird ja schon geholfen. eine zweite Lösung macht keinen Sinn. Der Piet hat eben nicht aufgepasst beim posten. passiert.

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige