Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Wenn Wert in A1 vorkommt, dann in Zelle C7

Wenn Wert in A1 vorkommt, dann in Zelle C7
05.11.2012 19:13:48
Wolfgang
Hallo,
mein nachfolgender Versuch, eine Zellabfrage vorzunehmen, scheitert kläglich. Ich würde gerne abfragen, ob eines der genannten Wörter in Zelle A1 vorkommt, wenn ja, soll der Wert (es kommt jeweils immer nur eines dieser Wörter vor) in Zelle C7 Tabelle Quelle übernommen werden. Danke schon jetzt für die Rückmeldung.
Gruß - Wolfgang
Sub Test()
If Worksheets("Quelle").Range("A1").Value Like "*bezahlt*" Or "*gestundet*" Or "*nicht bekannt*" _
_
Then
Range("C7").Value = Range("A1").Value Like "*bezahlt*" Or "*gestundet*" Or "*nicht bekannt*"
Else
MsgBox "Nicht vorhanden", vbExclamation
End If
End Sub

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wenn Wert in A1 vorkommt, dann in Zelle C7
05.11.2012 19:25:28
Hajo_Zi

If Instr(Worksheets("Quelle").Range("A1"),"bezahlt")>0 or

Typen unverträglich
05.11.2012 19:41:30
Wolfgang
Hallo Hajo,
erneut zunächst herzlichen Dank für Deine schnelle Rückmeldung. Habe Deinen Hinweis aufgegriffen und versucht, sinnvoll fortzusetzen. Irgendetwas mache ich da verkehrt. Hast Du direkt eine Idee, wo ich da falsch liege?
Gruß Wolfgang
If InStr(Worksheets("Quelle").Range("A1"), "bezahlt") > 0 Or "gestundet" > 0 Or "nicht bekannt"  _
> 0 Then

Anzeige
AW: Typen unverträglich
05.11.2012 19:47:42
Hajo_Zi
Hallo Wolfgang,

If InStr(Worksheets("Quelle").Range("A1"), "bezahlt") +InStr(Worksheets("Quelle").Range("A1"), " _
nicht bezahlt")  >0

Gruß Hajo

AW: Typen unverträglich
05.11.2012 19:51:38
Hajo_Zi
Hallo Wolfgang,
If InStr(Worksheets("Quelle").Range("A1"), "bezahlt")>0 Then
Range("C7")="bezahlt"
elseif InStr(Worksheets("Quelle").Range("A1"), "nicht bezahlt")  >0 then
Range("C7")="nicht bezahlt"
End if

Gruß Hajo

Anzeige
Danke Hajo!!!
05.11.2012 20:02:25
Wolfgang
Hallo Hajo,
da hätte ich mir noch lange die Zähne ausgebissen und nicht hinbekommen. Umsomehr herzlichen Dank für Deine erneute Rückmeldung und Überlassung des Codes. Der Code läuft nun tadellos und prima. Hast mir sehr geholfen!
Gruß - Wolfgang

AW: Wenn Wert in A1 vorkommt, dann in Zelle C7
05.11.2012 19:41:28
Gerd
Hallo Wolfgang,
so á la deiner Version. Ich unterstelle, dass beide Zellen im Sheet Quelle sind.
Sub Test()
With Worksheets("Quelle")
If .Range("A1").Value Like "*bezahlt*" _
Or .Range("A1").Value Like "*gestundet*" _
Or .Range("A1").Value Like "*nicht bekannt*" Then
.Range("C7").Value = .Range("A1").Value
Else
MsgBox "Nicht vorhanden", vbExclamation
End If
End With
End Sub
Gruß Gerd

Anzeige
AW: Wenn Wert in A1 vorkommt, dann in Zelle C7
05.11.2012 19:48:25
Wolfgang
Hallo Gerd,
auch Dir herzlichen Dank für die schnelle Rückmeldung. Problem ist bei Deinem Code, dass er momentan den gesamten Inhalt aus Zelle A1 in C7 kopiert. Es soll dabei aber jeweils nur das gesuchte Wort übertragen werden.
Gruß - Wolfgang

AW: Wenn Wert in A1 vorkommt, dann in Zelle C7
05.11.2012 20:01:02
Gerd
Ach so, Wolfgang!
Sub Test()
With Worksheets("Quelle")
If .Range("A1").Value Like "*bezahlt*" Then
.Range("C7") = "bezahlt"
ElseIf .Range("A1").Value Like "*gestundet*" Then
.Range("C7") = "gestundet"
ElseIf .Range("A1").Value Like "*nicht bekannt*" Then
.Range("C7").Value = "nicht bekannt"
Else
MsgBox "Nicht vorhanden", vbExclamation
End If
End With
End Sub
Den Like-Operator benötigst du nur, wenn die drei alternativen Wörter in A1 nicht den ganzen
Zelleninhalt ausmachen.
Gruß Gerd

Anzeige
Danke Gerd!!
05.11.2012 20:10:35
Wolfgang
Hallo Gerd,
hatte Hajo soeben ein Feedback geschrieben, um Dir eigentlich zu schreiben, dass sich meine Anfrage durch den Code von Hajo erledigt hat. Hat sich zeitlich überschnitten. Habe Deinen Code auch "eingebaut" und probiert, er läuft nun auch tadellos und prima. Meine Frage hat sich somit doppelt gelöst und geklärt. Ich hätte es auf keinen Fall, so kann feststellen, hinbekommen. Nochmals recht herzlichen Dank!
Gruß - Wolfgang

AW: Wenn Wert in A1 vorkommt, dann in Zelle C7
05.11.2012 20:13:49
Hajo_Zi
Hallo Gerd,
sehe ich das falsch? Ich hätte vermutet im Suchwort sind die "*" nicht notwendig.
Gruß Hajo

Anzeige
und wenn in A1-noch nicht bezahlt steh? owT Gruß
05.11.2012 20:20:09
robert

AW: und wenn in A1-noch nicht bezahlt steh? owT Gruß
05.11.2012 20:26:22
Hajo_Zi
Danke

Mal was Grundsätzliches, ...
05.11.2012 20:07:32
Luc:-?
…Wolfgang und alle, die das so falsch machen;
If vergleicht grundsätzlich Ausdrücke, die einen Booleschen Wert liefern bzw deren Wert in einen solchen umgewandelt wdn kann, auf True. Dann wird die Folgeanweisung ausgeführt, sonst, falls vorhanden, die Else- bzw nächste ElseIf-Anweisung.
Ein Ausdruck dieser Art xy=x Or y wird wie folgt aufgelöst: (xy=x) Or (y≠0) ⇒ True|False Or True|False ⇒ immer True außer bei False Or False!
Deshalb klappt das bei dir nicht!
Gruß Luc :-?

Genauer eigentl wie folgt, ...
07.11.2012 16:09:46
Luc:-?
…Wolfgang & Interessenten;
in Pgmiersprachen wie zB J(ava)Script wird mitunter zwischen wert- und bitweisen LogikOperationen unterschieden. Dafür wdn dann oft unterschiedl Operatoren verwendet. In VBA ist das etwas anders. Es wdn zwar auch beide Operationsarten verwendet, welche aber jeweils angewendet wird, hängt vom Kontext, also auch der Notationsreihenfolge der Operatoren ab. Ein VglsOperator (auch Like gehört dazu) hat Vorrang vor einem LogikOperator, so dass hier erst der Vgl xy=x durchgeführt wird. Dadurch ergibt sich ein Boolescher Wert (True bzw False, was -1 bzw 0 entspricht). Dieser wird nun per Disjunktion bitweise mit y verknüpft, woraus sich eine Zahl ergibt.
In einer If…Then-Anweisung wird diese Zahl, abhängig von ihrem Wert, nun wieder als True oder False interpretiert. Dabei entspricht 0 False, alles Andere True.
Luc :-?
Anzeige

398 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige