2016-10-27 9 views
0

Code Nach ich verwendet habe, können die Daten aus dem Bereich von Zellen auf einem Blatt:Zurückgeben von Daten zu Zellbereich

Private Sub UserForm_Initialize() 
    listTo.Clear 
    listCC.Clear 
    listTo.List = Worksheets("Main").Range("C12:C26").Value 
    listCC.List = Worksheets("Main").Range("D12:D26").Value 
End Sub 

Dies funktioniert gut. Dann ist mein Problem jetzt, wie man sie zum Blatt zurückbringt, wenn der Benutzer auf die Schaltfläche Update klickt. Ich habe eine Antwort gefunden here, aber ich sehe keine Änderungen oder scheint nicht zu funktionieren. Unten ist mein bearbeitet Code:

Private Sub btnUpdate_Click() 

Dim dataItems As Range 
With Me.listTo 
    Dim Data() 
    ReDim Data(1 To .ListCount, 1 To 1) 
    Data = .List 

    With Worksheets("Main") 
     Set dataItems = .Range("C12", .Range("C12").Offset(Me.listTo.ListCount - 1, 0)) 
    End With 
    With dataItems 
     .Value = Data 
    End With 
End With 

End Sub 

Dies funktioniert nur, wenn ich den Code aus dem ersten Mal ausführen, aber wenn ich es wieder laufen, ist es nicht mehr funktioniert. Irgendeine Hilfe?

+0

Es könnte am besten sein, wenn Sie den Teil des Code posten, ** nicht ** arbeiten anstatt Entsendung der Teil Dein Code, der ** funktioniert **. Der Teil, der funktioniert, ist hilfreich, aber der Teil, der nicht funktioniert, ist der Teil, den wir wirklich brauchen. Wenn Sie einfach wissen, dass Sie mit der Antwort einer anderen Person begonnen haben, können wir nicht sehen, ob Sie sie für Ihre Situation korrekt implementiert haben. – YowE3K

+0

@ YowE3K Meine Frage aktualisiert. Vielen Dank :) – ramj

Antwort

2

Ich weiß nicht, warum Ihr Code andere Ergebnisse zurückgeben würde, wenn Sie es zweimal ausführen.

Hier ist eine einfachere Art und Weise zu tun, was Sie tun möchten:

Private Sub btnUpdate_Click() 

    Worksheets("Main").Range("C12").Resize(listTo.ListCount).Value = listTo.List 

End Sub 
Verwandte Themen