2016-12-13 8 views
0

Ich bin neu in VBA und weiß nicht, wie man programmiert. Ich habe ein Makro aufgenommen, um bestimmte Zellen von einem Blatt in Zellen eines anderen Blattes zu kopieren, aber es wird immer wieder in dieselbe Spalte eingefügt, und ich möchte, dass sich die Paste in der nächsten offenen Spalte befindet. Das ist alles was ich habe.Makro zum Kopieren und Einfügen von einem Blatt in die nächste offene Spalte in einem anderen Blatt

Sub Weekday() ' ' Wochentag Makro '

Range("J10:J13").Select 
Selection.Copy 
Sheets("Results").Select 
Range("C2").Select 
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 
    :=False, Transpose:=False 
+0

Tipp ... verwenden Sie den Recorder, versuchen Sie Strg + Pfeil nach rechts, um die zuletzt verwendete Spalte zu finden. – Rdster

Antwort

0
With Sheets("Results") 
    .Cells(2, .Columns.count).End(xlToLeft).Offset(, 1).Resize(4).Value = Range("J10:J13").Value 
End With 
+0

Ersetze ich Sheets ("Ergebnisse"). Wählen Sie mit dem, was Sie hinzugefügt haben? Es gibt mir einen Fehler – Monu

+0

Sie ersetzen alle Ihre angezeigten Code mit mir – user3598756

+0

Dies ist, was ich habe und ich bekomme eine Anwendung definierten Fehler Blätter ("Daily Snapshot"). Wählen Mit Blättern ("Ergebnisse") .Range (2, .Columns.Count) .End (xlToLeft) .Offset (, 1) .Resize (4) .Value = Bereich ("J10: J13"). Wert Ende mit – Monu

0

Wenn Sie ändern:

Range("C2").Select 

von

c = Cells(2, 3).End(xlToRight).Column + 1 
Cells(2, c).Select 

c eine ganze Zahl. Es gibt Ihnen die Nummer der nächsten leeren Spalte in der Zeile 2.

Verwandte Themen