Abfrage über Worksheet

Bild

Betrifft: Abfrage über Worksheet
von: Karlheinz
Geschrieben am: 29.08.2015 20:07:11

Hallo Ihr Excel-Fans,
nach langer Zeit hätte ich mal wieder ein Frage an Euch.
Habe folgenden Code in VBA
---------------------
If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub
Select Case Target.Value

Case Is = ""
Cells(Target.Row, "F") = ""
Cells(Target.Row, "G") = ""
Case Is <> 0
Cells(Target.Row, "F") = Date$
Cells(Target.Row, "G") = Time$


End Select
End Sub
--------------------
Das funktioniert auch alles soweit ....
Was mich jetzt reizen würde wäre so eine Abfrage der Zelle Axx
wenn zb. in A1 ein Wert mit zb. einem K oder eine Zahl zB. 8 in der Zelle
stehen würde dann würde ich mir wünschen das nicht nur in F und G das Datum / Zeit
auftauchen würde sondern zusätzlich falls in Axx der Wert mit "K" oder mit "8" anfängt dann in Cells(Target.Row, "H") = "WERT1" bzw "WERT2" stehen würde...
Hoffe Ihr könnt mit dieser kargen Beschreibung erkennen worauf ich hinaus möchte...
Vielen Dank und schön das es dieses Forum immer noch gibt, DANKE Hans W. Herber !!
Gruß Karlheinz

Bild

Betrifft: AW: Abfrage über Worksheet
von: Michael
Geschrieben am: 29.08.2015 20:39:20
Hallo Karlheinz,
die Erweiterung könnte etwa so aussehen:

If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub
Select Case Target.Value
Case Is = ""
Cells(Target.Row, "F") = ""
Cells(Target.Row, "G") = ""
Case Is <> 0
  Cells(Target.Row, "F") = Date$
  Cells(Target.Row, "G") = Time$
  if mid(Target.value,1,1) = "K" then Cells(Target.Row, "H") = "WERT1"
  if mid(Target.value,1,1) = "8" then Cells(Target.Row, "H") = "WERT2"
End Select
Die Abfragen auf ="" und ungleich 0 sind etwas lückenhaft: falls tatsächlich 0 drinsteht, passiert nämlich rein gar nichts, wovon Du Dich gerne überzeugen kannst.
Vorsicht! Ich schreibe in Spalte B.
Beachte die Ausgabe des CASE ELSE.
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub
Select Case Target.Value
Case Is = ""
Cells(Target.Row, "B") = "is leer:  <" & Target.Value & ">"
Cells(Target.Row, "F") = ""
Cells(Target.Row, "G") = ""
Case Is <> 0
  Cells(Target.Row, "B") = "is <> 0: <" & Target.Value & ">"
  Cells(Target.Row, "F") = Date$
  Cells(Target.Row, "G") = Time$
  If Mid(Target.Value, 1, 1) = "K" Then Cells(Target.Row, "H") = "WERT1"
  If Mid(Target.Value, 1, 1) = "8" Then Cells(Target.Row, "H") = "WERT2"
Case Else
  Cells(Target.Row, "B") = "nicht enth.: <" & Target.Value & ">"
End Select
End Sub

Schöne Grüße,
Michael

Bild

Betrifft: AW: Abfrage über Worksheet
von: Karlheinz
Geschrieben am: 29.08.2015 21:55:03
Hallo Michael,
das nenn ich einfach super ... das ist was ich meine .... vielen Dank dafür !!!
Ich liebe dieses Forum es ist immer einer da der die Lösung parat hat wo immer man eine Lösung sucht
UND Du hast recht wenn in der Zelle eine "0" passiert nichts aber dort wo ich es benötige wird
normalerweise nie eine "0" auftauchen es wird immer eine Zahl oder ein Wert mit dem K drin stehen.
Vielen lieben Dank, jetzt kann ich da mal weiter dran tüfteln ...
Gruß Karlheinz

Bild

Betrifft: Vielen Dank für die freundliche Rückmeldung,
von: Michael
Geschrieben am: 30.08.2015 12:44:27
Karlheinz,
und schöne Grüße,
Michael

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Abfrage über Worksheet"