ggforum

Excel vba Wert VOR Änderung auf 0 in neuer Tabelle mit Datum Zeit speichern

Felder:
Datum (heute), Zeit (bei Übergabe),WertName (=z.B. Meyer),Wert (z.B. 8)

Makro, was den Reset auf Null bewirkt:

Sub z1()
Dim rngCell As Range
Dim nicht As Range
Dim doch As Range
Set nicht = Range ("ohne1")
Set doch = Range ("_z1")
For Each rngCell In nicht
rngCell.Value = rngCell.Value + 1
Next
For Each rngCell In doch
rngCell.Value = 0
Next
End Sub
Danke an Dieter für die For Each - Hilfe, einfach Klasse *

Leider weiss ich nicht, wie es funktionieren soll, dass
For Each rngCell In doch
rngCell.Value = 0

"weiss", welche Zellen des Range ("_z1") das nun sind, die auf 0 gesetzt werden.
Auch müsste dann die Zellbezeichnung, die ich gern per Namen definieren kann, wenns das Ganze einfacher macht,in der Tabelle unter WertName stehen, und wenn der Name Meyer eine 8 hatte, bevor resettet wurde, dann unter Wert eine 8.

Nette Grüsse und ein wundervolles Pflingstfest mit allerbestem Wetter

Gabi
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 240319

Url: https://administrator.de/forum/excel-vba-wert-vor-aenderung-auf-0-in-neuer-tabelle-mit-datum-zeit-speichern-240319.html

Ausgedruckt am: 16.07.2025 um 16:07 Uhr

116301
116301 07.06.2014 aktualisiert um 10:28:16 Uhr
Hallo Gabi!

Also, in z.B.
For Each rngCell In doch
    rngCell.Value = 0
Next
weiß 'rngCell' welche Zelle gerade bearbeitet wird, da es ja das gerade aktuelle Cell-Object repräsentiert. Ist im Prinzip das Gleiche, als würdest Du schreiben:
Set rngCell = Range("A1")  '1. Zelle   
Set rngCell = Range("A2")  '2. Zelle   
...
Beispiel:
Dim strAddress As String
Dim intColumn As Long
Dim intRow As Long
Dim CellX As Range

For Each rngCell In doch
    rngCell.Value = 0
        
    strAddress = rngCell.Address        '= "$A$3"  
    intColumn = rngCell.Column          '= 1  
    intRow = rngCell.Row                '= 3  

    Set CellX = rngCell.Offset(0, 1)    '= Range("$B$3")  
    Set CellX = rngCell.Offset(0, 2)    '= Range("$C$3")  
'oder:  
    Set CellX = Cells(rngCell.Row, "E") '= Range("$E$3")  
Next

Grüße Dieter
ggforum
ggforum 07.06.2014 um 13:07:43 Uhr
Hallo, lieber Dieter,
mein Range "doch" umfasst ca. 15 Zellen
Wie können diese 15 Zellen mit den genannten Werten als dann 15 Zeilen an das Ende einer anderen Tabelle , z.B. Tabelle2, eingetragen werden?
Habe mich heute Vormittag durch etliche Video-Tutorials gekämpft, was dazu geführt hat, dass ich bei soviel Input wohl den Wald vor lauter Bäumen nicht mehr sehe....
LG Gabi
bastla
bastla 07.06.2014 aktualisiert um 13:47:40 Uhr
Hallo ggforum!

Lass einfach einen Zähler für die Zeilennummer in der Zieltabelle mitlaufen:
intZeile = 35 'nächste freie Zeile (Annahme zum Testen - müsstest Du für die Zieltabelle ermitteln)  
For Each rngCell In doch
    Worksheets("Tabelle2").Cells(intZeile, "D").Value = rngCell.Value 'Eintrag des Zellwertes in Spalte D der Zieltabelle  
    intZeile = intZeile + 1
    rngCell.Value = 0
Next
Grüße
bastla
ggforum
ggforum 07.06.2014 um 15:30:48 Uhr
danke, werd ich über Pfingsten versuchen, zu testen;
Ihr wisst ja, die Mädels haben über Pfingsten viel in der Küche zu tun....
LG....
116301
116301 07.06.2014 um 16:07:25 Uhr
Hallo Gabi!

Und ihr wisst ja, dass Männer das manchmal zu schätzen wissenface-smile

Grüße und schöne Pfingsten

Dieter