Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
484to488
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
484to488
484to488
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Case-Formel?

Case-Formel?
16.09.2004 14:11:43
Rehhirsch
Kann vielleicht jemand sagen wie ich die Case-Formel in VBA anwenden muss. Hab keine Ahnung wie das geht, kenn das nur noch n bisl aus Pascal...
Es soll im diesen Sinne angewendet werden :
1.Für den Fall dass in der Zelle Amt steht tuhe nichts.
2.Für alle anderen Fälle tue dies.
MfG Rehhirsch

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Case-Formel?
16.09.2004 14:16:33
nosub
Select Case a
Case 4
... Anweisung1
Case 10
... Anweisung2
End Select
AW: Case-Formel?
16.09.2004 14:20:57
nosub
oder du machst es über ne IF abfrage
if Zelle "AMT" then
tu was du tun musst
end if
AW: Case-Formel?
16.09.2004 14:17:21
Katja
Hallo Rehhirsch
Hilft dir das so weiter? Es wird die Zelle A2 abgefragt, ob in dieser Amt steht, wenn nicht, gehts weiter in die If Verzweigung, sonst gehts weiter im Programm. Falls das TUE DAS nur ein Befehl ist, kannst es gleich hinter das then schreiben und das endif weglassen.
if Range("A1").value "Amt" then
'TUE DAS
endif
Gruss Katja
AW: Case-Formel?
16.09.2004 14:45:04
Rehhirsch
Also so sieht der Ausschnitt aus der mir gerade Probleme macht :
If Range("A1") "AMT" Then Selection.FormulaR1C1 = "=TRIM(IF(RC[4]="""",(IF(RC[3]="""",RC[2]&"" ""&RC[1],RC[3]&"" ""&RC[1]&"" ""&RC[2])),CONCATENATE(RC[4],"" "",RC[1],"" "",RC[2],"" "",RC[3])))"

Er soll also in A1 nachgucken ob AMT drinsteht, wenn nicht, soll er den nachfolgenden Befehl ausführen. Das Problem jetzt ist, dass er den nachfolgenden Befehl ausführt egal ob AMT drin steht oder nicht...
Anzeige
AW: Case-Formel?
16.09.2004 14:51:28
Katja
hmm? komisch, habe deinen Programmteil kopiert, bei mir funktionierts. probiere mal
if Range("A1").value "AMT" then
oder
Range("A1").Select
if ActiveCell.Value "AMT" then
Gruss Katja
AW: Case-Formel?
16.09.2004 15:04:24
Rehhirsch
Ist es von bedeutung ob nochmehr in der Zeile drin steht? Da steht nämlich nicht nur AMT. Manchmal steht halt AMT AUGSBURG , manchmal AMT BERLIN u.s.w.
Aber das dürfte ja nicht von bedeutung sein oder?
AW: Case-Formel?
Katja
Doch, das ist von Bedeutung. Ist AMT immer zuvorderst, d.h. die ersten 3 Buchstaben des Wortes? Dann gehts mit
Dim AMTVariable As String
AMTVariable = Range("A1").Value
AMTVariable = Mid(AMTVariable, 1, 3)
If Range("A1").Value AMTVariable Then Selection.FormulaR1C1 = "=TRIM(IF(RC[4]="""",(IF(RC[3]="""",RC[2]&"" ""&RC[1],RC[3]&"" ""&RC[1]&"" ""&RC[2])),CONCATENATE(RC[4],"" "",RC[1],"" "",RC[2],"" "",RC[3])))"
Gruss Katja
Anzeige
AW: Case-Formel?
16.09.2004 15:26:17
Rehhirsch
Ja es sind die ersten drei Buchstaben, das AMT selbst steht aber alleine, also wie zum Beispiel "AMT AUGSBURG"
AW: Case-Formel?
Katja
Ok, dann sollte es so klappen. Hast dus mit dem Programmteil, den ich dir geschickt habe, schon versucht?
Gruss Katja
AW: Case-Formel?
16.09.2004 15:47:41
Rehhirsch
Ja aber er macht es trotzdem immer...kann man das Problem nicht auch über eine Case-Formel lösen? Es gibt nämlich noch viele andere Ausnahmen, die er auch alle berücksichtigen müsste...unter anderem auch wenn eine Zahl drin steht oder GmbH und so weiter...
AW: Case-Formel?
Katja
Man müsste alle Ausnahmen aufführen. Wo stehen die Zahlen und wo steht GMBH? Auch immer zuvorderst? Wieviele Stellen haben die Zahlen? Es ist nicht so einfach, einmal nur das GMBH herauszupicken (z.B. von Muster GMBH) und einmal nur AMT (z.B. von AMT Berlin) und einmal nur die Zahl (von z.B. Firma 13). Das weiss ich jetzt auch nicht so aus dem stehgreif, wie man das lösen könnte. Case funktioniert im Prinzip so:
Dim xxx as string
Select Case xxx
Case "3"
'was soll er tun?
Case "GMBH"
'was soll er tun?
Case "AMT"
'was soll er tun?
Case Else
'die Formel
End Select
Gruss Katja
Anzeige
AW: Case-Formel?
16.09.2004 17:06:16
Rehhirsch
Es ist immer unterschiedlich wo diese stehen, es ist so : Ich habe eine Datei von meinem Chef bekommen, in der Kundendaten gespeichert sind, unter anderem auch dren Namen. Diese stehen alle in der Spalte B. Diese stehen dort im Format "Vorname Nachname" und ich soll dies umdrehen, so dass es "Nachname Vorname" ist. Nun ist es aber leider auch so, dass nicht alle Kunden normale Vor- und Nachnamen haben, wie z.B. das AMT BERLIN oder irgendwelche GmbH's oder auch Zahlen. Diese müssen von der Umdrehaktion ausgeschlossen sein. Deswegen brauch ich eine sinnvolle Idee womit ich diese von der Umdrehaktion ausschließen kann...
Anzeige
AW: Case-Formel?
17.09.2004 17:14:00
Katja
Hallo Rehhirsch
Sorry, dass ich erst jetzt schreibe. Schicke mir doch deine E-Mail Adresse auf katja.reinprecht@power.one.com.
Gruss Katja
AW: Case-Formel?
Katja
Sorry,
katja.reinprecht@power-one.com
AW: Case-Formel?
16.09.2004 15:42:03
Mac4
Hi,
so gehts übrigends auch:

Sub test()
If Range("A1") Like "*Amt*" Then
Selection.FormulaR1C1 = "=TRIM(IF(RC[4]="""",(IF(RC[3]="""",RC[2]&"" ""&RC[1],RC[3]&"" ""&RC[1]&"" ""&RC[2])),CONCATENATE(RC[4],"" "",RC[1],"" "",RC[2],"" "",RC[3])))"
End If
End Sub

Marc

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige