AW: VBA - mehrere Zellwerte gleichzeitig auf- abwerten
31.10.2018 10:40:54
Daniel
Hi
direkt in VBA müsstest du jeden Zellwert einzeln ändern, dh mit einer Schleife über jede Zelle laufen und den Zellwert abändern.
in der einfachsten Version:
Dim Zelle as Range
for each Zelle in Range("A1:B10")
Zelle.Value = Zelle.Value + 1
Next
bei größeren Datenmengen kann es hilfreich sein, die Werte in ein Array einzulesen, dann das Array zu bearbeiten und am Ende das Array als ganzes in die Zellen zurückzuschreiben:
dim arr
dim z as Long, s as Long
with range("A1:B10")
arr = .value
for z = 1 to ubound(arr, 1)
for s = 1 to ubound(arr, 2)
arr(z, s) = arr(z, s) + 1
next s
next z
.value = arr
End with
wie du siehst, alles recht aufwendig.
noch besser und schneller ist das die von Hajo gezeigte Variante mit dem Copy-Paste.
das kann man übrigens auch ohne VBA von Hand ausführen, wenn den Delta-Wert in eine Zelle schreibt, kopiert und dann mit dem Zielbereich die Kontextmenüfunktion (Rechte Maustaste) Inhalte einfügen - Inhalte Einfügen - Werte, Vorgang: addieren
Gruß Daniel