Frage von Cek23, 11

Wie kann ich einen Spalt (z.B. Spalt E) in Excel VBA jedes Mal zurücksetzen auf ein freies Feld, wenn ein Makro abgespielt werden soll?

Folgender Befehl soll abhängig von k, in dem Spalt 5 jedes Mal die neu errechneten Werte übernehmen. Dabei ist egal wie groß oder klein k ist. Die Anzahl an k-Werten soll dementsprechend in dem Spalt untereinander aufgeführt werden. Mein Problem ist jetzt, dass ich den Spalt jedes Mal wenn ich k oder r_0 ändere manuell löschen muss, weil er sonst die alten Werte nicht löscht.

Sub r_i()

r_0 = Cells(3, 2) s = Cells(14, 2) k = Cells(9, 2)

For i = 1 To k

Cells(i + 1, 5) = r_0 + s * (i - 0.5)

Next i

End Sub

Antwort
von PWolff, 7

z. B.

For i = k + 1 + 1 To Me.Cells.SpecialCells(xlLastCell).Row
Me.Cells(i, 5).Clear
Next
Expertenantwort
von Iamiam, Community-Experte für Excel, 4

ich habe die Aufgabe etwas anders verstanden als P.Wolff (Werte nicht in allen Spalten löschen, sondern nur Spalte 5?), deshalb vorsichtshalber mein sehr einfacher Vorschlag(nur aus dem Gedächtnis): ...Range("E:E").Cells.clear (vllt braucht es noch nicht mal das .Cells ?)

Oder Range(Range("E1"), Range("E1").end(xldown)).clear

such Dirs raus, was du wolltest!

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten