ggforum
Goto Top

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

Content-ID: 240319

Url: https://administrator.de/contentid/240319

Ausgedruckt am: 25.11.2024 um 17:11 Uhr

116301
116301 07.06.2014 aktualisiert um 10:28:16 Uhr
Goto Top
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
Goto Top
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
Goto Top
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
Goto Top
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
Goto Top
Hallo Gabi!

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

Grüße und schöne Pfingsten

Dieter