Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Zellen mit VBA füllen
#1
Moin,

ich steh grade etwas aufm Schlauch. Ich habe relativ viele Werte in einem Makro berechnet und möchte diese nun in einer Spalte untereinander auflisten. Wären es nicht so viele Werte, würde ich im Makro einfach schreiben:
Worksheets("Test").Range("A1")=x1
Worksheets("Test").Range("A2")=x2
...

Da es jetzt, wie gesagt, ein paar Werte mehr sind, würde ich das Ganze am liebsten als Schleife ausführen. Also für z.B. 100 Werte:

i=1
Do
Worksheets("Test").Range("Ai")=xi
i=i+1
Loop Until i=100

Geht sowas überhaupt?

Gruß Max
Antwortento top
#2
Hallo,

zeig doch mal den gesamten Code.

mfg
Antwortento top
#3
Hallo,

hier mal zwei Beispiele:


Code:
Sub test()
Dim i As Long
i = 1
Do
 Worksheets("Test").Range("A" & i) = "x" & i
 i = i + 1
Loop Until i = 10
End Sub

Sub test2()
Dim i As Long
For i = 1 To 10
 Worksheets("Test").Range("B" & i) = "x" & i
Next i
End Sub
Gruß Atilla
[-] Folgende(r) 1 Benutzer sagt Danke an atilla für diesen Beitrag:
  • Maxm
Antwortento top
#4
(16.01.2017, 21:51)atilla schrieb: Hallo,

hier mal zwei Beispiele:


Code:
Sub test()
Dim i As Long
i = 1
Do
 Worksheets("Test").Range("A" & i) = "x" & i
 i = i + 1
Loop Until i = 10
End Sub

Sub test2()
Dim i As Long
For i = 1 To 10
 Worksheets("Test").Range("B" & i) = "x" & i
Next i
End Sub


Hi Atilla,

Danke für die Hilfe. Ich hatte bei der Syntax schon einen Fehler gemacht. Eigtl wollte ich aber gerne den Inhalt der Variablen in die Zellen schreiben. Ungefähr so:

Sub Test()
Dim i As Integer
Dim a1 As Double
Dim a2 As Double

i1 = 1
a1 = 10
a2 = 35
Do
    Range("A" & i1) = a & i1
    i1 = i1 + 1
Loop Until i1 > 2

End Sub

Das Problem ist wie ich den Variablennamen (hier a1 oder a2) als eine Kombination aus a und der Zählvariable i darstelle.

Gruß Max
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste