2016-11-18 16 views
-1

Ich versuche, ein einfaches Makro für ein Blatt zu erstellen, das ich jeden Tag bei der Arbeit verwende.VBA-Makro mit Offset

Im Grunde geht es um:

Blatt 1 Zelle A2: A11 weist Werte in ihm diese Werte müssen in Blatt 2 mit einem Offset je Tag auf die nächste freie Spalte kopieren eingefügt.

Was ich bis jetzt habe, ist die Copy Paste mit einem Offset ... aber ich weiß nicht, wie ich sagen soll, dass der Offset für die nächste freie Spalte passieren soll.

Dim rng As Range 
Dim ws As Worksheet 

Range("A2:A11").Select 
Selection.Copy 
Sheets("Sheet2").Select 
If rng Is Nothing Then 
    'if nothing found - search for last non empty column 
    Set rng = ws.Range("2:2").Find(What:="*", LookAt:=xlWhole, MatchCase:=False, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious) 
    If rng Is Nothing Then 
     Set rng = rng.Offset(, 1) 
     ActiveSheet.Paste 
    End If 
+0

Sieht so aus, als ob Sie ein End IF verpassen und rng nicht gesetzt ist, bevor Sie es auf Is Nothing testen. – Rdster

+0

@Jenni post den Rest Ihres Codes, dieser aktuelle Code kann nicht ausgeführt werden –

Antwort

0

Wenn ich richtig verstehe, nur versuchen, diese

statt alle aktuellen Code
Range("A2:A11").Copy Sheets("Sheet2").Cells(2, Columns.Count).End(xlToLeft).Offset(, 1) 
0

Set rng = rng.End(xlToRight).Offset(0, 1)
Sie gehen den ganzen Weg nach rechts und dann eine weitere für die nächste freie Spalte.