myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

VBA für Anfänger, findet jemand den Fehler im Code

Willkommen

myGully

Links

Forum

 
Antwort
Themen-Optionen Ansicht
Ungelesen 16.09.09, 21:27   #1
Hasgard
Anfänger
 
Registriert seit: Feb 2009
Ort: Düsseldorf
Beiträge: 28
Bedankt: 3
Hasgard ist noch neu hier! | 0 Respekt Punkte
Standard VBA für Anfänger, findet jemand den Fehler im Code

Hallo,

ich erstelle gerade eine Exceltabelle. Wenn ich einen Eintrag in Spalte B mache, dann soll in der selben Zeile in Spalte A das jetzige Datum eingetragen werden. Halt wie bei Access.
Ich hab schon mal geguckt, werd aber aus dem Quellcode der Experten nicht schlau. Leider funktioniert er auch nicht.

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 1 And Target.Value <> 0 Then
Target.Offset(0, 1).Value = Now
End If
End Sub

Woher soll Excel wissen was die Target Column ist ?

Wisst ihr da weiter. Könnt ihr den Quellcode so modifizieren, dass er auf Anhieb funktioniert ?
Hasgard ist offline   Mit Zitat antworten
Ungelesen 17.09.09, 19:16   #2
Alex22
Anfänger
 
Registriert seit: Nov 2008
Beiträge: 1
Bedankt: 0
Alex22 ist noch neu hier! | 0 Respekt Punkte
Standard

Nunja ich kenn mich mit VBA nicht sonderlich aus, allerdings denke ich dass das Sub "Worksheet_Change" aufgerufen wird, wenn mit sich eine Zeile verändert. Target wird dabei sozusagen als eine Variable vom Typ "Excel.Range" mitgesendet und ist die Zeile die geändert wurde.
Der Fehler, liegt vermutlich darin, dass die If Anweisung nur 1 als Spalte zulässt.

Also das funktionierende Programm sollte also so aussehen:

Code:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
     If Target.Column > 0 And Target.Value <> 0 Then
          Target.Offset(0, 1).Value = Now
     End If
End Sub
Bin mir da aber nicht sicher, probiers einfach mal aus.
Alex22 ist offline   Mit Zitat antworten
Ungelesen 19.09.09, 08:41   #3
neomika
Mika, what else?!?
 
Benutzerbild von neomika
 
Registriert seit: Jun 2009
Beiträge: 52
Bedankt: 22
neomika ist noch neu hier! | 0 Respekt Punkte
Standard

Das mit dem einser passt schon so, es geht ja um spalte B (also 1, 0 ist A, 2 ist B, usw).

Meine Frage: Möchtest du das programm gleichzeitig laufen lassen, während du etwas in eine excel-tabelle tippst?
neomika ist offline   Mit Zitat antworten
Ungelesen 22.09.09, 14:45   #4
jim-sonic
Anfänger
 
Benutzerbild von jim-sonic
 
Registriert seit: Sep 2008
Beiträge: 2
Bedankt: 0
jim-sonic ist noch neu hier! | 0 Respekt Punkte
Standard

Hi,

geht auch ohne VBA:

In der Zelle A1
=WENN(B1="";"";HEUTE())

Die Zelle A1 mus dann nur noch ein Datumformat bekommen.

Gruß

Jim-Sonic
jim-sonic ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:06 Uhr.


Sitemap

().