Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1500to1504
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
Inhaltsverzeichnis

@Michael , (oder andere) noch ne Frage

@Michael , (oder andere) noch ne Frage
30.06.2016 18:38:19
jockel
Hallo Michael,
Dein Code funktioniert super. Wollte nur Fragen:
Unabhängig von Deinem Beispiel, ich würde gerne prüfen, ob eine Eingabe in Spalte B überhaupt in meiner Referenzlist vorkommt.
Wenn ich aA(z, 1) abfrage, bekomme ich aus der Referenzliste die Zeile zurück, wo der Treffer gefunden wurde. Wenn meine Eingabe aber gar nicht vorkommt, hätte ich einfach gerne eine MSGbox.
Nur wie frage ich das ab.
meine Idee: if aA(z, 1) = "" oder auch =0
funktioniert da nicht. Hast du noch eine andere Idee ?
Danke
Jockel.
hier noch mal Deine Code:
Option Explicit
Sub pruefen()
Dim shR As Worksheet
Dim zA&, zAc&, zR&, sR&, z&
Dim aA, aAc
Dim farbe
farbe = Range("I2").Interior.Color
' oder z.B. farbe=vbYellow oder vbRed
Set shR = Sheets("Referenztabelle")
zA = Range("B" & Rows.Count).End(xlUp).Row
zAc = Range("C" & Rows.Count).End(xlUp).Row
zR = shR.Range("B" & shR.Rows.Count).End(xlUp).Row
aA = Range("B1:B" & zA)
aAc = Range("C1:C" & zA)
z = WorksheetFunction.Max(zA, zAc)
Range("B2:C" & z).ClearFormats
For z = 2 To zA
aA(z, 1) = Application.Match(aA(z, 1), _
shR.Range("A1:A" & zR), 0)
If IsError(aA(z, 1)) Then
Range("B" & z).Interior.Color = farbe
Else
If aAc(z, 1) "" Then
sR = shR.Cells(aA(z, 1), shR.Columns.Count) _
.End(xlToLeft).Column
If IsError(Application.Match(aAc(z, 1), _
shR.Cells(aA(z, 1), 1).Resize(, sR), 0)) Then
Range("C" & z).Interior.Color = farbe
End If
End If
End If
Next

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
geht so
30.06.2016 20:18:40
Michael
Hi Jockel,
dann so (mit der zusätzlichen Variablen zMatch:
Option Explicit
Sub pruefen()
Dim shR As Worksheet
Dim zA&, zAc&, zR&, sR&, z&, zMatch
Dim aA, aAc
Dim farbe
farbe = Range("I2").Interior.Color
' oder z.B. farbe=vbYellow oder vbRed
Set shR = Sheets("Referenztabelle")
zA = Range("B" & Rows.Count).End(xlUp).Row
zAc = Range("C" & Rows.Count).End(xlUp).Row
zR = shR.Range("B" & shR.Rows.Count).End(xlUp).Row
aA = Range("B1:B" & zA)
aAc = Range("C1:C" & zA)
z = WorksheetFunction.Max(zA, zAc)
Range("B2:C" & z).ClearFormats
For z = 2 To zA
zMatch = Application.Match(aA(z, 1), _
shR.Range("A1:A" & zR), 0)
If IsError(zMatch) Then
' d.h., daß der Begriff nicht gefunden wurde ******
MsgBox aA(z, 1) & " existiert nicht."
Range("B" & z).Interior.Color = farbe ' evtl. löschen
Else
If aAc(z, 1)  "" Then
sR = shR.Cells(zMatch, shR.Columns.Count) _
.End(xlToLeft).Column
If IsError(Application.Match(aAc(z, 1), _
shR.Cells(zMatch, 1).Resize(, sR), 0)) Then
Range("C" & z).Interior.Color = farbe
End If
End If
End If
Next
For z = zA + 1 To zAc
Range("C" & z).Interior.Color = farbe
Next
End Sub
Schöne Grüße,
Michael

Anzeige
Danke Michael, perfekt ..... owT
01.07.2016 13:25:37
Jockel

ok, danke für die Rückmeldung owT
01.07.2016 16:15:27
Michael

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige