Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1612to1616
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
09.03.2018 06:44:40
Antonio
Hallo Veterane,
ich habe in einer Tabellenspalte folgendes:
C E G
D F G A
G E C
K M J H
F G D A
E C G u.s.w.
In einer TextBox gebe ich folgendes ein z.Bsp.: C E G
Ich wurde gerne alle Sätze die die gleiche Buchstaben, egal welche Rehienfolge, in ein Label ausgeben.
Also:
C E G
G E C
E C G
Ich habe im Internet die Funktion "inSTR" gefunden aber nicht richtig verstanden.
Kann mir bitte jamand helfen mein Vorhaben zu realisieren?
Vielen Dank in Voraus
Antonio

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

Betreff
Datum
Anwender
Anzeige
AW: inSTR Funktion
09.03.2018 07:01:31
MCO
Guten Morgen!
Instr gibt dir die gefundene Position des Suchbegriffes im Text aus. Ist nix drin ist das Ergebnis "0" (Null).
Wenn du also alle Kombinationen haben möchteste müsste die Formel (aus de Kopf) wie folgt lauten:
for i = 2 to 500
if instr(cells(i,Tabellenspalte),such1)>1+instr(cells(i,Tabellenspalte),such2)>+instr(cells(i, _
Tabellenspalte),such3)>1 then
txt = txt& chr(10)& Tabellenzeile
endif
next i
msgbox txt
Gruß, MCO
AW: inSTR Funktion
09.03.2018 07:29:43
Antonio
Hallo MCO, danke zunächst für deine Antwort,
wie gesagt es fällt mir schwer die Funktion zu verstehen, habe wie folgt Versucht zu codieren:
Sub InStr()
Dim i As Integer
Dim Akkord As String
Dim txt As String
Dim such1, such2, such3 As String
Dim objWS   As Worksheet
Set objWS = Worksheets("Tabelle6")
objWS.Activate
Akkord = TextBox4.Text
For i = 1 To 500
If InStr(Cells(i, 7), such1) > 1 + InStr(Cells(i, 7), such2) > InStr(Cells(i, 7), such3) > 1  _
Then
txt = txt & Chr(10) & i
End If
Next i
MsgBox txt
End Sub

MsgBox ist immer leer also = 0 obwohl in der Tabelle C E G vorkommt.
Habe vielleicht im Code was falsch gemacht?
Danke in Voraus
Antonio
Anzeige
AW: inSTR Funktion
09.03.2018 07:35:03
Werner
Hallo Antonio,
du solltest auch deine Variablen such1.... füllen.
Gruß Werner
AW: inSTR Funktion
09.03.2018 07:37:49
fcs
Hallo Antonio,
Makro kann so aussehen.
Gruß
Franz
Sub xxx()
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 = ActiveSheet
With wks
spa = 1 'Nummer er Süalte mit en Texten
such = InputBox("Suchtext", "Buchstaben in Texten suchen")
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) & .Text
End If
End If
End With
Next i
MsgBox txt
End With
End Sub

Anzeige
AW: inSTR Funktion
09.03.2018 08:56:59
Antonio
Hallo Franz,
es funzt, werde mich mit der Funktion beschäftigen. DANKE
@ Danke anch an MCO für den Denkanstöß.
@ Danke auch an Werner.
Antonio
AW: inSTR Funktion
09.03.2018 09:11:58
Antonio
Hallo Franz,
eine Frage noch.
Ich suche in Spalte 7, würde aber gerne die entsprechend einträge von Spalte 1 im Label haben.
Kannst du mir bitte sagen wo und was ich in der Funktion ändern bzw. dazu schreiben soll?
Vielen Dank in Voraus
Antonio
AW: inSTR Funktion
09.03.2018 11:23:10
fcs
Hallo Antonio,
hier anpassen:
          If bolOK = True Then
txt = txt & Chr(10) & wks.Cells(i, 1).Text
End If

Gruß
Franz
Anzeige
AW: inSTR Funktion
09.03.2018 11:31:59
Werner
Hallo Antonio,
oder mit dem Code von MCO
Sub InStr()
Dim i As Integer
Dim Akkord As String
Dim txt As String
Dim such1, such2, such3 As String
Dim objWS   As Worksheet
Set objWS = Worksheets("Tabelle6")
objWS.Activate
Akkord = TextBox4.Text
For i = 1 To 500
If InStr(Cells(i, 7), such1) > 0 And InStr(Cells(i, 7), such2) > 0 _
And InStr(Cells(i, 7), such3) > 0 Then
If txt = "" Then
txt = Cells(i, 1)
Else
txt = txt & Chr(10) & Cells(i, 1)
End If
End If
Next i
MsgBox txt
End Sub
Gruß Werner
AW: inSTR Funktion
09.03.2018 11:47:45
Antonio
Hallo Werner,
S U P E R!!!!
Vielen Dank
Anotnio
Anzeige
Gerne u. Danke für die Rückmeldung. o.w.T.
09.03.2018 12:54:17
Werner
AW: Gerne u. Danke für die Rückmeldung. o.w.T.
12.03.2018 11:57:32
Antonio
Hallo Gemeinde,
muss ich leider wieder was fragen,
wenn ich den Text in TextBox4 selber reinschreibe dann funzt alles perfekt.
Wenn ich aber den Text in TextBox4 aus der Tabelle reinkopiere funzt die Funktion nicht.
Hier die Funktion:
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 = TextBox4.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 & Cells(i, 2) & vbNewLine
End If
End If
End With
Next i
Label2 = txt
End With
End Sub
Die Frage ist: macht es ein Unterschied wie ich den Text in TextBox reinbekomme oder ist mir ein Fehler unterlaufen.
Danke in Voraus
Antonio
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige