Werte protokollieren



Excel-Version: 8.0 (Office 97)
nach unten

Betrifft: Werte protokollieren
von: Rafael
Geschrieben am: 08.07.2002 - 10:03:53

Hallo Boardgemeinde,

unten stehender Code soll wechselnde Werte aus Tabelle1.Zelle B2 in Tabelle2.Spalte C sukzessive untereinander protokollieren.

Leider hat die Sache folgenden Haken: Der jeweilige Wert aus Zelle B2 wird in Spale C mehrfach untereinander geschrieben (je nach Definition der Schleife).

Vielleicht hat jemand von Euch einen Tip oder eine Anregung.

Herzlichen Dank im voraus!

Rafael


Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim AktuellerWert As Variant, i As Integer
Application.ScreenUpdating = False
For i = 1 To 50
AktuellerWert = Tabelle1.Range("B2")
Tabelle2.Cells(i, 3) = AktuellerWert
Next i
End Sub

nach oben   nach unten

Re: Werte protokollieren
von: Hans W Hofmann
Geschrieben am: 08.07.2002 - 11:31:42

Du musst vor dem wegschreiben von AktuellerWert die Ereigniserzeugung abschalten .EnableEvents (? oder so) ansonsten hast Du eine Endlosschleife...

Gruß HW


nach oben   nach unten

Re: Werte protokollieren
von: Rafael
Geschrieben am: 08.07.2002 - 11:52:32

Auf jeden Fall eine gute Idee! Danke! Ich hab's direkt ausprobiert (... auch in Modul eingefügt). Leider erhalte ich das gleiche falsche Ergebnis wie vorher.

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim AktuellerWert As Variant, i As Integer
Application.ScreenUpdating = False
Application.EnableEvents = False
For i = 1 To 50
AktuellerWert = Tabelle1.Range("B2")
Tabelle2.Cells(i, 3) = AktuellerWert
Next i
End Sub


nach oben   nach unten

Re: Werte protokollieren
von: Hans W Hofmann
Geschrieben am: 08.07.2002 - 13:04:20

Naja, wieso schreibst Du dann in der Schleife die 50 Werte der Reihe nach weg und beklagst Dich dann das das falsch ist ;-?

Ich nehme mal an, daß Du in die nächste freie Zelle schreiben willst also sowas wie


Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim As Range
If Target.Address = "$B$2" Then
    Application.EnableEvents = False
    Set f = Tabelle2.Range("C:C").SpecialCells(xlCellTypeBlanks)
    f(1) = Tabelle1.Range("B2").Value
    Application.EnableEvents = True
End If
End Sub

Gruß HW


nach oben   nach unten

Re: Werte protokollieren
von: Rafael
Geschrieben am: 08.07.2002 - 14:26:23

Hallo HW,

nun, ich bin VBA-Anfänger. Mir war nicht klar, wie ich die Bedingung für das Change-Ereignis als Code umsetzen kann.

Ich danke Dir vielmals für Deinen Vorschlag!

Rafael


nach oben   nach unten

Re: Werte protokollieren
von: Rafael
Geschrieben am: 08.07.2002 - 14:26:26

Hallo HW,

nun, ich bin VBA-Anfänger. Mir war nicht klar, wie ich die Bedingung für das Change-Ereignis als Code umsetzen kann.

Ich danke Dir vielmals für Deinen Vorschlag!

Rafael


nach oben   nach unten

Re: Werte protokollieren
von: Hans W. Hofmann
Geschrieben am: 08.07.2002 - 15:03:18

Du musst den Code im VBA-Editor (Alt+F11) in der Tabelle1 hinterlegen (im Projektfenster Tabelle1 doppelklicken).

Gruß HW


 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Werte protokollieren"