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

inStr Funktion

inStr Funktion
29.03.2018 06:43:39
Antonio
Hallo,
ich muss leider das Thema wieder ansprechen weil die Anregungen von MCO, fcs und Werner hier der Code:
Sub InStr()
Dim i  As Long, txt As String, such As String, varSuch, j As Integer, wks As Worksheet, spa  _
As Long, bolOK As Boolean
Set wks = Worksheets("Tabelle3")
With wks
spa = 3 'Nummer der Spalte mit den Texten
such = TextBox2.Text
If such = "" Then Exit Sub
For i = 2 To .Cells(.Rows.Count, spa).End(xlUp).Row
With .Cells(i, spa)
If Len(.Text) = Len(such) Then
bolOK = True
varSuch = Split(such, " ")
For j = 0 To UBound(varSuch)
If InStr(.Text, varSuch(j)) = 0 Then
bolOK = False
Exit For
End If
Next
If bolOK = True Then
txt = txt & Chr(10) & wks.Cells(i, 1)
End If
End If
End With
Next i
'       MsgBox txt
'       Label2 = txt
TextBox5.Text = txt
End With
End Sub
mir nicht die Ergebnisse gegeben haben die ich haben möchte.
Bevor ich euch erkläre was ich erreichen will (was schwierig ist) lade ich eine Mappe mit Beschreibung hoch.
https://www.herber.de/bbs/user/120752.xlsx
Ich hoffe ihr versteht was ich meine.
Vielen Dank in Voraus
Antonio

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: inStr Funktion
29.03.2018 07:54:14
fcs
Hallo Antonio,
warum lädst du nicht einen Teil deiner Original-Datei inklusive Userform hoch, damit man am Makro zum Testen nicht alles mögliche nachbauen muss.
Gruß
Franz
AW: inStr Funktion
29.03.2018 08:07:44
Antonio
Hallo Franz,
schön das du dich meldest.
Hab ein wenig geduld, ich werde eine Mappe vorbereiten.
Antonio
Franz bist du noch da?
29.03.2018 09:21:35
Antonio
?
AW: Franz bist du noch da?
29.03.2018 11:19:50
fcs
Hallo Antonio,
warum so ungeduldig? Ich hab auch noch einen Hauptberuf.
In deiner Datei viele Sachen außerhalb von Excel abgerufen. Diese sind bei mir nicht vorhanden, so dass ich nicht in deiner Datei Testen konnte, sondern ein kleines Userform nachbauen musste.
Hinweis: Man sollte als Namen von Makros nicht die Namen von VBA-Funktionen verwenden. Das kann Problem machen bzw. die Programmierung wird unnötig kompliziert.
Nachfolgend dein Makro angepasst.
Gruß
Franz
Sub InStr()
Dim i  As Long, txt As String, such As String, varSuch, wks As Worksheet, _
spa As Long, bolOK As Boolean, varZellText, k As Integer, j As Integer, _
varOK() As Boolean
Set wks = Worksheets("Tabelle3")
With wks
such = TextBox2.Text
If such = "" Then Exit Sub
varSuch = Split(such, " ")
For spa = 2 To 12 Step 2 'Nummern der Spalten mit den zu durchsuchenden Texten
For i = 1 To .Cells(.Rows.Count, spa).End(xlUp).Row 'Zeilen mit Daten
With .Cells(i, spa)
If Len(.Text) = Len(such) Then
ReDim varOK(0 To UBound(varSuch))
varZellText = Split(.Text, " ")
'Zeichenfolgen im Suchtext mit Zeichen im Zelltext vergleichen
For j = 0 To UBound(varSuch)
For k = 0 To UBound(varZellText)
If varSuch(j) = varZellText(k) Then
varOK(j) = True
Exit For
End If
Next k
Next j
bolOK = True
'Prüfen, ob alle Zeichen gefunden wurden
For k = 0 To UBound(varOK)
If varOK(k) = False Then
bolOK = False
Exit For
End If
Next k
If bolOK = True Then
'Text aus Spalte links von Zelle übernehmen
txt = txt & Chr(10) & .Offset(0, -1).Text
End If
End If
End With
Next i
Next spa
'       MsgBox txt
'       Label2 = txt
TextBox5.Text = txt
End With
End Sub

Anzeige
AW: Franz bist du noch da?
29.03.2018 12:08:50
Antonio
Hallo Franz, danke für deine Rückmeldung.
Ich bin nicht ungeduldig, ich wollte nur signalisieren das ich wieder am Platz bin.
Ich poste hier das Bild vom Image1 so das du alles auf die Form hast.
Userbild
OK, aber das Makro umbenannt. Danke für den Hinweis.
Habe dein Code 1:1 übernommen, TextBox5 bleibt aber leer.
Keine Meldung, keine Fehler, nichts.
Obwohl ich in Tabelle3 absichtlich was doppelt, aber gemischt : C E G B in B E C G geschrieben habe
wird nicht gefunden.
Klappt es bei dir?
Antonio
Anzeige
ES FUNZT!!!!
29.03.2018 12:40:54
Antonio
Hallo Franz,
habe ein wenig in Tabelle3 rumprobiertum einiges auszuschlissen.
Habe ein InputBox eingebaut und siehe da FUNZT!
Frage:
warum wird der Text den ich an TextBox2 übergebe nicht erkannt?
Ich würde gerne ohne InputBox schaffen.
Glaubst das es Möglich ist? Oder liegt am Makro das den Text nicht anerkennt?
Antonio
Probiere .Value statt .Text ...owT
29.03.2018 12:54:36
Peter(silie)

AW: Probiere .Value statt .Text ...owT
29.03.2018 13:08:56
Antonio
Hallo Peter, danke dir auch für deinen Beitrag,
hatte schon probiert, mit beibe TextBoxen, NICHTS.
Liegt evtll. an die Eigenschaften von TextBox2? Muss ich ihn evtll. formatieren?
LG
Antonio
TextBox Frage
29.03.2018 13:51:10
Antonio
ich habe den Fehler gefunden,
die Daten die an TextBox2 übergeben werden haben am Ende ein Leerzeichen.
Anders als in der Tabelle, kein Leerzeichen am Ende.
Wie kann ich im TextBox2 die Leerzeichen eleminieren ohne die komplette Tabelle zu überarbeiten?
Ein kleiner Hilfe wäre hier sehr willkommen.
Danke in Voraus
Antonio
Anzeige
Danke Franz, Danke Peter
29.03.2018 13:57:15
Antonio
Fehler beseitigt.
Danke an alle.
Antonio

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige