Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1652to1656
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA - mehrere Zellwerte gleichzeitig auf- abwerten

VBA - mehrere Zellwerte gleichzeitig auf- abwerten
31.10.2018 10:23:13
udo
Guten Morgen Forum
benötige etwas Hilfe bei folgendem Problem.
wenn ich einen Zellwert aufwerte ( einzelne Zelle ) mache ich das bislang über
[A1] = [A1].Value +1 oder minus 1
wie sieht das für einen Zellverband aus, gibt es da eine ähnlich einfache Schreibweise für zB [A1:B10] wenn in jedem dieser Zellen unterschiedliche Zahlenwerte stehen, und ich jede Zelle für sich um eine Zahl auf oder abwerten möchte.
Hat Jemand soetwas schon mal realisiert ( Beispiel ).
Wäre euch sehr dankbar für eure Unterstützung
LG Udo

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - mehrere Zellwerte gleichzeitig auf- abwerten
31.10.2018 10:28:58
Hajo_Zi
Hallo Udo,
schreibe die Zahl in eine Zelle. C1 z.B. -1
Range("C1").Copy
Range("A1:A14").PasteSpecial Paste:=xlPasteAll, Operation:=xlAdd
Application.CutCopyMode = False

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Die Beiträge werden auch ignoriert, es erfolgt keine Antwort.
Ja prima - vielen Dank Hajo !
31.10.2018 10:36:11
udo
genau das was ich suchte ... Danke dir wiedermal sehr Hajo
;-)
LG Udo
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
Anzeige
Vielen lieben Dank auch an Dich Daniel ...
31.10.2018 14:32:41
udo
einen Ansatz deiner Art hatte ich ansatzweise im Kopf, hätte ich so nicht hinbekommen alleine.
Danke dir, werde eure beiden Codes mal mit einbauen zum Testen
Schönen Gruß
Udo
und Danke nochmal !

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige