Elseif Befehl gesucht

Hallo

Natürlich ist nach meiner zweiwöchigen Abwesenheit alles weg hier im Forum. Reinhard, falls Du dies liest, erstmal vielen Dank für die letzte Hilfe. Ich möchte folgendes Makro erweitern mit elsif.

Sub tt()
Dim Zei As Long, Wert
Wert = Worksheets(„Tabelle2“).Range(„B8“)
If CStr(Wert) = „1“ Then
With Worksheets(„Übersicht“)
For Zei = 1 To 100
If .Cells(Zei, 3) Like „5V350A*“ Then .Cells(Zei, 4).Interior.ColorIndex = IIf(CStr(Wert) = „1“, 4, 22)
Next Zei
End With
End If
End Sub

Hier steht, wenn in Tabelle2 in der Zelle B8 der Wert 1 steht, dann…ich möchte nun, dass es die Zelle im Worksheet „Übersicht“ ROSA färbt, wenn der Wert 0 steht.
Zweitens, wie kann ich jetzt mehrere Bedingungen einfügen?
Abgeändert (Range D10 und „Antenna“) würde das so aussehen: , aber wie füge ich das ganze mit dem obigen zusammen?

Sub tt()
Dim Zei As Long, Wert
Wert = Worksheets(„Tabelle2“).Range(„D10“)
If CStr(Wert) = „1“ Then
With Worksheets(„Übersicht“)
For Zei = 1 To 100
If .Cells(Zei, 3) Like „Antenna*“ Then .Cells(Zei, 4).Interior.ColorIndex = IIf(CStr(Wert) = „1“, 4, 22)
Next Zei
End With
End If
End Sub

Hi Christian,

Natürlich ist nach meiner zweiwöchigen Abwesenheit alles weg
hier im Forum.

„Meine Artikel“ !

Option Explicit

Sub tt()
Dim Zei As Long, Wert
Wert = Worksheets("Tabelle2").Range("B8")
With Worksheets("Übersicht")
 For Zei = 1 To 100
 If .Cells(Zei, 3) Like "5V350A\*" Or .Cells(Zei, 3) Like "Antenna\*" Then
 .Cells(Zei, 4).Interior.ColorIndex = IIf(CStr(Wert) = "1", 4, 22)
 End If
 Next Zei
End With
End Sub

oder

Sub tt2()
Dim Zei As Long, Wert As String
Wert = CStr(Worksheets("Tabelle2").Range("B8"))
With Worksheets("Übersicht")
 For Zei = 1 To 100
 Select Case True
 Case .Cells(Zei, 3) Like "5V350A\*", .Cells(Zei, 3) Like "Antenna\*"
 .Cells(Zei, 4).Interior.ColorIndex = IIf(CStr(Wert) = "1", 4, 22)
 Case Else
 ' nix
 End Select
 Next Zei
End With
End Sub

Gruß
Reinhard

Ich grüsse Dich Reinhard!

Ging wiedermal prompt Deine Antwort. Danke!
Hab ich mich wohl falsch ausgedrückt,
zwei sachen als erweiterung wünschte ich mir:

  1. Bei einer 1 soll es die Zelle grün färben (1.Version) oder bei einer 0 die Zelle Rosa (Neu).

  2. Die erste Bedingung haben wir, hier Beispiel „5V350A“. Hinzu kommt eine zweite Bedingung, wenn in „Tabelle2“ Zelle D10 eine 1 steht…(weiter wie bei „5V350A“ jedoch mit „Antenna“).

Erklärung: In Tabelle 2 erfasse ich die erforderlichen Messmittel zu den einzelnen Baugruppen (hier 5V350A und Antenna), summiere > ergibt eine 1 oder eine 0. Mit dem Marko-nachgucken in der Tabelle 2 habe ich in der Übersicht die Zellen eingefärbt und weiss, ob die Reparatur einer Baugruppe möglich ist.

  1. Bei einer 1 soll es die Zelle grün färben (1.Version) oder
    bei einer 0 die Zelle Rosa (Neu).
  2. Die erste Bedingung haben wir, hier Beispiel „5V350A“.
    Hinzu kommt eine zweite Bedingung, wenn in „Tabelle2“ Zelle
    D10 eine 1 steht…(weiter wie bei „5V350A“ jedoch mit
    „Antenna“).
    Erklärung: In Tabelle 2 erfasse ich die erforderlichen
    Messmittel zu den einzelnen Baugruppen (hier 5V350A und
    Antenna), summiere > ergibt eine 1 oder eine 0. Mit dem
    Marko-nachgucken in der Tabelle 2 habe ich in der Übersicht
    die Zellen eingefärbt und weiss, ob die Reparatur einer
    Baugruppe möglich ist.

Hi Christian,
kannst du mal eine kleine Beispieldatei hochladen wo du manuell so färbst wie gewünscht und ich dann evtl. erkennen kann welch Logik dajintersteckt.
Hochladen geht bei http://www.rapidshare.de oder http:/wwww.badongo.com o.ä.
Gruß
Reinhard

Ciao Reinhard,

der Firmenserver blockt gewisse Seiten und so, daher muss ich dies daheim ausprobieren. Ich probiere es diese Woche aus.
Man hört sich…

Gruss Christian

Hoi Reinhard,

ähm wie sollte das gehen mit dem hochladen einer Datei?

Gruss,
Christian

ähm wie sollte das gehen mit dem hochladen einer Datei?

Hi Christian,
ist jeweils beschrieben, bei badongo brauchste da nur ein Häkchen machen, bei Jugendschutz das Yes auswählen, beliebigen Text bei Beschreibung eingeben, die Datei auswählen und „Uploaden“.
Dann wird dir ein Link angezeigt, den hier posten.
Bei Rapidshare geht das ähnlich.
Gruß
Reinhard

Ok Reinhard, hier hab ich was kleines gemacht.

http://www.badongo.com/file/1687164

Die Tabelle wird laufend ergänzt und enthält eine Unmenge von verschiedenen Baugruppen. ICh möchte nur für die wichtigsten die Betriebsmittelverfügbarkeit checken.

Bin gespannt auf ein Zeichen von Dir. Danke schon und einen schönen Abend noch!

Gruss Christian

http://www.badongo.com/file/1687164

Die Tabelle wird laufend ergänzt und enthält eine Unmenge von
verschiedenen Baugruppen. ICh möchte nur für die wichtigsten
die Betriebsmittelverfügbarkeit checken.

Hi Christian,
wichtig ist dass die gesuchten Teile fett formatiert sind.

Tabelle:
C:\Download\[test\_auftr\_ge.xls]!Tabelle2
 │ A │ B │ 
───┼───────────────────────────────┼────────────────┤
 3 │ Folgende Prüfmittel brauchts: │ │ 
 4 │ **5V350A** │ vorhanden (=1) │ 
 5 │ Q-02937 │ 1 │ 
 6 │ Q-05026 │ 1 │ 
 7 │ Q-05031 │ 1 │ 
 8 │ │ │ 
 9 │ │ │ 
10 │ **Datalink** │ vorhanden (=1) │ 
11 │ Q-10102 │ 0 │ 
12 │ Q-09201 │ 1 │ 
───┴───────────────────────────────┴────────────────┘

Tabelle:
C:\Download\[test\_auftr\_ge.xls]!übersicht
 │ C │ D │ E │ 
──┼────────────────────────────┼───────────────────────────┼────────┤
3 │ Baugruppe/Serialnummer │ Betriebsmittel verfügbar? │ │ 
4 │ Datamemory #pe-5-9100 │ Zellfarbe ist lila │ FALSCH │ 
5 │ 5V350A Power Supply 870032 │ Zellfarbe ist grün │ WAHR │ 
6 │ Datamemory #pe-5-9094 │ Zellfarbe ist lila │ FALSCH │ 
7 │ Antenna #1001 │ Zellfarbe ist lila │ FALSCH │ 
8 │ Datalink Karte #001 │ Zellfarbe ist grün │ FALSCH │ 
9 │ 5V350A Power Supply 870054 │ Zellfarbe ist grün │ WAHR │ 
──┴────────────────────────────┴───────────────────────────┴────────┘

Benutzte Formeln:
E4: =Mappe1!tt(C4)
E5: =Mappe1!tt(C5)
E6: =Mappe1!tt(C6)
E7: =Mappe1!tt(C7)
E8: =Mappe1!tt(C8)
E9: =Mappe1!tt(C9)

D4 hat folgende Bedingte Formatierung(en)
Formel ist: =E4=WAHR
Farbe rot
Formel ist: =E4=Falsch
Farbe lila

Die anderen Zellen in D entsprechend. Es gelang mir nicht direkt die Funktion tt() in die bed. Formatierung einzubauen, deshalb Umweg über Spalte E, Schriftfarbe weiß in E

in ein Modul1:

Option Explicit

Function tt(ByVal Zelle As Range) As Boolean
Dim Zei As Long, Z As Long, Summe As Long
With Worksheets("Tabelle2")
 For Zei = 4 To .Range("A65536").End(xlUp).Row
 If .Cells(Zei, 1).Font.Bold = True Then
 If Left(Zelle.Value, Len(.Cells(Zei, 1))) = .Cells(Zei, 1) Then
 Summe = 0
 Z = Zei + 1
 While (.Cells(Z, 1).Value "")
 Summe = Summe + .Cells(Z, 2)
 Z = Z + 1
 Wend
 If Summe = (Z - Zei - 1) Then tt = True
 End If
 End If
 Next Zei
End With
End Function

Gruß
Reinhard

Hey Reinhard! Vielen Dank für Deine Mühe; Du hast es auch sehr gut beschrieben!
hab noch eine Frage:

Diese Function akzeptiert es nicht in einem Modul1.

Was passiert bei mir:
Ich eröffne Modul, copy den Code rein. Drücke auf Button ausführen, dann verlangt einen Markonamen und nach dessen Eingabe steht die Zeile
Sub test ()

End Sub

Warum gelingt mir die Einbindung Deines Codes nicht?

Hi Christian,

Diese Function akzeptiert es nicht in einem Modul1.

Oh doch, sie wird akzeptiert.

Ich eröffne Modul, copy den Code rein. Drücke auf Button
ausführen, dann verlangt einen Markonamen und nach dessen
Eingabe steht die Zeile

Ist normal, Funktionen kannste so nicht ausführen lassen.
Und makros die einen parameter erwrten werden nicht angezeigt.

Sub test ()

End Sub

Eija, ist klar, da du nix ausgewählt hast.

Warum gelingt mir die Einbindung Deines Codes nicht?

Du kannst die Funktion wie gezeigt in Excel einbinden als Funktiosaufruf, oder in Vba mit sowas:

Sub Test()
msgbox tt(Range(„A1“)
end sub

Gruß
Reinhard

Guten Morgen Reinhard

Vielleicht liegt es am Montag…oder meine Hinrzellen sind nicht so auf Excel/VBA getrimmt. Ich hab noch meine Mühe mit dem umsetzen Deiner dankbaren Tips.

In Excel den Funktionsaufruf einbinden ist nicht so toll, dort hatte ich Mühe mit dem =Mappe1!tt(C4).
> keine Ahnung was für eine Mappe1, hab ja kein solches File.

Daher möchte ich mich auf das VBA konzentrieren; Du schreibtest
„Sub Test()
msgbox tt(Range(„A1“)
end sub“

> Ich hab ja nix in Zelle A1.

Irgendwie hab ich den Faden verloren, wo schreibe ich den den Funktionscode?

Naja, ist eh nicht so mein Tag heute. Wünsche Dir einen besseren Tag und guten Start!

Gruss
Christian

Hi Christian,

In Excel den Funktionsaufruf einbinden ist nicht so toll, dort
hatte ich Mühe mit dem =Mappe1!tt(C4).
> keine Ahnung was für eine Mappe1, hab ja kein solches
File.

Wenn du Excel startest ohne eine bestimmte Datei, ggfs noch auf Datei–Neu klickst, ist die sichtbare Datei/Mappe Mappe1.
Wenn du eine mapp mi Namen „Meinemappe.xls“ öffnest in der in Modul1 der Code steht, so kannst du natürlich nicht
=Mappe1!tt(C4) nehemen sondern
=tt(C4)
bzw.
=Meinemappe!tt(C4)

Daher möchte ich mich auf das VBA konzentrieren; Du
schreibtest
„Sub Test()
msgbox tt(Range(„A1“)
end sub“
> Ich hab ja nix in Zelle A1.

Na, dann schreib was rein -) Ist doch nur zum Testen, d.h. die Zelle musst du anpassen an eine Zelle wo auch was drinsteht.

Irgendwie hab ich den Faden verloren, wo schreibe ich den den
Funktionscode?

Alt+F11, wenn es kein Modul1 gibt dann Einfügen–Modul, dorthinein gehört der Code.

Gruß
Reinhard

Hallo Reinhard

Danke für Deine Mühe, ich habe es nun anders gelöst, passt für mich.
Ich habe einen Code von Dir genommen und erweitere jetzt File.
Letzte Frage zu diesem Artikel:
Anbei der Code. Wie Du siehst, habe ich (und werde noch) mehrere Makros schreiben je für eine Baugruppe.
Gibt es die Möglichkeit mit einem Overall-Makro verschiedene Makros auszuführen?

Sodass ich die unteren zwei Makros (Power Modul + Focus) mit einem Button gleichzeitig ausführen kann. Sonst müsste ich ja immer Extras - Makro anwählen und ausführen.

Gruess Christian

Sub Power Modul()
Dim Zei As Long, Wert
Wert = Worksheets(„Tabelle2“).Range(„B8“)
With Worksheets(„Übersicht“)
For Zei = 1 To 100
If .Cells(Zei, 3) Like „5V350A*“ Then
.Cells(Zei, 4).Interior.ColorIndex = IIf(CStr(Wert) = „1“, 4, 22)
End If
Next Zei
End With
End Sub

Sub Focus()
Dim Zei As Long, Wert
Wert = Worksheets(„Tabelle2“).Range(„B14“)
With Worksheets(„Übersicht“)
For Zei = 1 To 100
If .Cells(Zei, 3) Like „Focus Coil*“ Then
.Cells(Zei, 4).Interior.ColorIndex = IIf(CStr(Wert) = „1“, 4, 22)
End If
Next Zei
End With
End Sub

Anbei der Code. Wie Du siehst, habe ich (und werde noch)
mehrere Makros schreiben je für eine Baugruppe.
Gibt es die Möglichkeit mit einem Overall-Makro verschiedene
Makros auszuführen?

Hi Christian,

sub overall()
call Power_Modul ’ Leerzeichen sind m.W. im Makronamen verboten
call Focus
end sub

Gruß
Reinhard

Sub Power Modul()
Dim Zei As Long, Wert
Wert = Worksheets(„Tabelle2“).Range(„B8“)
With Worksheets(„Übersicht“)
For Zei = 1 To 100
If .Cells(Zei, 3) Like „5V350A*“ Then
.Cells(Zei, 4).Interior.ColorIndex =
IIf(CStr(Wert) = „1“, 4, 22)
End If
Next Zei
End With
End Sub

Sub Focus()
Dim Zei As Long, Wert
Wert = Worksheets(„Tabelle2“).Range(„B14“)
With Worksheets(„Übersicht“)
For Zei = 1 To 100
If .Cells(Zei, 3) Like „Focus Coil*“ Then
.Cells(Zei, 4).Interior.ColorIndex =
IIf(CStr(Wert) = „1“, 4, 22)
End If
Next Zei
End With
End Sub