Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1728to1732
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

Zeichenkette prüfen

Zeichenkette prüfen
09.12.2019 12:49:28
Tim
Hallo zusammen,
ich habe mir ein Makro zusammengebaut welches mir eine Zeichenkette prüfen und bei Abweichungen den dazugehörigen Wert aus einer weiteren Tabelle nehmen soll.
In Spalte A sind EAN-Nummern, in Spalte B sind unterschiedliche Artikelnummern. Die Zeichenkette der Artikelnummern müssen 10 Zeichen lang und zwei Bindestriche besitzen, dann gelten sie als okay. Sind die Artikelnummern abweichend so soll die EAN-Nummer im zweiten Tabellenblatt gesucht werden und die richtige Artikelnummer dazu in Spalte C nachgetragen werden.
Dazu habe ich mal meine Bsp. Datei fertig gemacht, da die Prüfung auf den Syntax (10 Zeichen inklusive zwei "-") nicht richtig funktioniert, wer hat dafür eine Lösung?
https://www.herber.de/bbs/user/133687.xlsm

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeichenkette prüfen
09.12.2019 15:09:33
ChrisL
Hi Tim
Sub Vergleichen()
Dim i As Long
Dim wksQ As Worksheet
Set wksQ = Worksheets("Tabelle2")
With Worksheets("Tabelle1")
For i = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
If Len(.Cells(i, 2)) = 10 And Len(Replace(.Cells(i, 2), "-", "")) = 8 Then
.Cells(i, 3) = .Cells(i, 2)
Else
If WorksheetFunction.CountIf(wksQ.Columns(1), .Cells(i, 1)) = 0 Then
MsgBox .Cells(i, 1) & " ist nicht vorhanden."
Else
.Cells(i, 3) = WorksheetFunction.VLookup(CStr(.Cells(i, 1)), wksQ.Range("A:B"), 2, 0)
End If
End If
Next i
End With
Set wksQ = Nothing
End Sub

Ein Problem war, dass du AND mit & dargestellt hast.
cu
Chris
Anzeige
AW: Zeichenkette prüfen
09.12.2019 16:04:50
Daniel
HI
ist die Struktur immer "2 Zeichen - 2 Zeichen - 4 Zeichen" ?
wenn ja, könnte die die Prüfung auch so aussehen:
IF .Cells(i, 2)) like "?-?-?" Then

wobei das ? der Joker für ein beliebiges Zeichen ist.
kann der Bindestrich an verschiedenen Stellen vorkommen, so wie von Chris vorgeschlagen.
Gruß Daniel
AW: Zeichenkette prüfen
09.12.2019 16:38:57
Tim
Danke ihr Beiden, ich habe das jetzt wie folgt angepasst, sieht auch auf den ersten Blick ganz gut aus. Jetzt erhalte ich jedoch einen Laufzeitfehler 13 wenn die zu suchende EAN Nummer nicht in der Vergleichstabelle ist, woran kann das liegen?
Um das zu provozieren, habe ich einfach eine EAN Nummer um eine Zahl erweitert anschließend kam der Laufzeitfehler.
Sub Vergleichen()
Dim a As Variant
Dim letzte As Long
Dim i As Long
Dim wksQ As Worksheet
Dim wksZ As Worksheet
Set wksQ = Workbooks("ANR mit EAN EKanal Handelsware.xlsx").Worksheets("6154")
Set wksZ = Worksheets("Komsa_Report")
letzte = wksZ.Cells(wksZ.Rows.Count, 9).End(xlUp).Row
For i = 1 To letzte
a = Application.Match(wksZ.Cells(i, 9), wksQ.Columns(1), 0)
If Not wksZ.Cells(i, 12) Like "?-?-?" Then
wksZ.Cells(i, 14).Value = wksQ.Cells(a, 2).Value
ElseIf Not IsNumeric(a) Then
'If Not IsNumeric(a) Then
wksZ.Cells(i, 14).Value = "nicht gefunden"
'MsgBox "nicht vorhanden"
'End If
End If
Next
Set wksQ = Nothing
Set wksZ = Nothing
End Sub

Anzeige
AW: Zeichenkette prüfen
09.12.2019 16:51:59
Daniel
HI
unsaubere Logik.
im Wahrteil des If-Blocks verwendest du a ohne Prüfung, ob a überhaupt ein Wert zu gewiesen wurde.
die musst du noch nachbessern.
Gruß Daniel
AW: Zeichenkette prüfen
09.12.2019 18:11:40
Tim
Hallo Daniel, ich habe mir den Code mit meinem Kenntnisstand lediglich zurecht gegoogelt. Die Abfrage für a stellt mich vor unlösbaren Herausforderungen.
AW: Zeichenkette prüfen
10.12.2019 07:36:47
Daniel
Die Abfrage für a steht an anderer Stelle in deinem Code doch schon drin.
Du hast sie also schon gesucht und gefunden.
Hirn einschalten, auch beim googeln und kopieren!
Gruß Daniel
AW: Zeichenkette prüfen
10.12.2019 15:05:57
Tim
Danke euch, Daniel sein Hinweis brachte mir die Lösung.
AW: Zeichenkette prüfen
10.12.2019 16:17:14
onur
Hast du MEINE Lösung überhaupt registriert bzw getestet?
Anzeige
AW: Zeichenkette prüfen
10.12.2019 17:15:06
onur
Und was ist mit onur sein Vorschlag?
Nicht gut oder keiner Antwort würdig ?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige