Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
764to768
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
764to768
764to768
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

suchen als VBA-Befehl

suchen als VBA-Befehl
26.05.2006 21:18:03
Jürgen
Hallo zusammen,
ich suche diese Art Formel als VBA-Befehl:
Tabelle1
 AB
1Bezeichnung 
2Silberkette 925er1
Formeln der Tabelle
B2 : =SUCHEN("*kette*";A2;1)
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
mit dieser Version habe ich nicht wirklich Erfolg, da nur der Begriff Kette klein geschrieben gefunden wird. Silberkette nicht mehr.
Public Function Trennen(Wert As String) If InStr("*kette*", Wert) Then 'funktioniert leider nicht so wirklich Trennen = 1 Else Trennen = 2 End If End Function
Mit Aufzeichnen komme ich in diesem Fall auch nicht weiter. Gibt es die Möglichkeit, diesen Befehl in VBA als Function darzustellen? Über einen Tipp würde ich mich sehr freuen, da ich so viele "und" bzw "oder"-Verknüpfungen unterbringen kann. Gruß Jürgen

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: suchen als VBA-Befehl
26.05.2006 21:21:13
Herbert
Hi,
siehe dir in der Hilfe die richtige Reihenfolge der Argumente an.
mfg Herbert
AW: suchen als VBA-Befehl
26.05.2006 21:23:48
Peter
Hallo Jürgen,
der Befehl InStr arbeitet so:
Public Sub Suchen() If InStr(Range("A1").Value, "kette") > 0 Then MsgBox "der Suchbegriff wurde gefunden" Else MsgBox "den Suchbegriff gibt es nicht im Text" End If End Sub
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
AW: suchen als VBA-Befehl
26.05.2006 21:57:31
Jürgen
Hallo Peter, hallo Herbert,
danke für die schnellen Antworten. Peter, leider scheitere ich daran mir aus deinem Vorschlag eine Funktion zu erstellen. Ich möchte das ganze als Formel eingeben können.
Z.B wie in Zelle B2. Kannst du mir da eventuell mal als Beispiel zeigen?
Tabelle1
 AB
1Bezeichnung 
2RingKeine Kette
Formeln der Tabelle
B2 : =trennen(A2)
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Wäre super,
danke im voraus,
Gruß Jürgen
Anzeige
AW: suchen als VBA-Befehl
26.05.2006 22:01:08
Peter
Hallo Jürgen,
so auf die Schnelle:
Public Function Suchmal(rng As Range, Begriff As String) As Boolean Dim Zelle As Range For Each Zelle In rng If InStr(Zelle, Begriff) > 0 Then Suchmal = True Else Suchmal = False End If Next Zelle End Function
In Zelle A1 steht Silberkette 925 Sterlingsilber
In B1 =Suchmal(A1; "kette")
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
AW: suchen als VBA-Befehl
nonever
Sub MultiSuche()
Dim Sh As Worksheet
Dim GZelle As Range
Dim FStelle$
Dim SBegriff
SBegriff = InputBox("Bitte Suchbegriff eingeben:")
For Each Sh In Worksheets
Sh.Activate
Set GZelle = Sh.Cells.Find(SBegriff)
If Not GZelle Is Nothing Then
FStelle = GZelle.Address
Do
GZelle.Activate
If MsgBox("WeiterSuchen", vbYesNo + vbQuestion) = vbNo Then Exit Sub
Set GZelle = Cells.FindNext(After:=ActiveCell)
If GZelle.Address = FStelle Then Exit Do
Loop
End If
Next Sh
MsgBox ("Suche beendet.")
End Sub
Anzeige
AW: suchen als VBA-Befehl
26.05.2006 22:21:21
Jürgen
Hallo Peter,
ja das funktioniert, aber es ist doch komplizierter als ich gehofft habe. Letztendlich wollte ich zunächst diese Formelreihe in einer VBA-Funktion unterbringen. Sie trennt Schmuckartikel von anderen Artikeln.Das ganze Werkzeug ist ziemlich träge.
hilfe_Art_trennen
 ABCDEFGHIJKLM
1   36568-Münzen568-Muenzen568
Uhr
Lexikon7er
Zippos
7er
Münzen
7er
Muenzen
 
2CITIKNITS, Shirt 3/4174100       0
Formeln der Tabelle
A2 : =' Adj_11_12_32_33_44_45_46_47'!C2
B2 : =LINKS(' Adj_11_12_32_33_44_45_46_47'!B2;3)
C2 : =LINKS(' Adj_11_12_32_33_44_45_46_47'!B2;1)
D2 : =ZÄHLENWENN(C2;"3")
E2 : =ZÄHLENWENN(C2;"6")
F2 : =WENN(B2="568";SUCHEN("*münz*";A2;1);"")
G2 : =WENN(B2="568";SUCHEN("*muenz*";A2;1);"")
H2 : =WENN(B2="568";SUCHEN("*uhr*";A2;1);"")
I2 : =WENN(B2="568";SUCHEN("*lexikon*";A2;1);"")
J2 : =WENN(C2="7";SUCHEN("*zippo*";A2;1);"")
K2 : =WENN(C2="7";SUCHEN("*münz*";A2;1);"")
L2 : =WENN(C2="7";SUCHEN("*muenz*";A2;1);"")
M2 : =ZÄHLENWENN(D2:L2;1)
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Aber das erscheint mir zu kompliziert.
Danke für die Hilfe an alle Antworter.
Gruß Jürgen
Anzeige
AW: suchen als VBA-Befehl
27.05.2006 12:21:21
Daniel
Hallo,
wenn du für eine bestehende Excel-Funktion keine entsprechende VBA-Funktion finden kannst, kannst du mit "Worksheetfunction.xxx()" die entsprechende Excelfunktion im Makro verwenden. Die Formelbezeichnung ist natürlich Englisch, aber du kannst sie einfach ermitteln, in dem du die entsprechende Zelle selektierst und im VBA-Edtior im Direktfenster den Befehl "?selection.formula" eingibst.
In deinem Fall wäre die Funktion:
Application.Worksheetfunction.Search(...)
die Parameter sind die gleichen wie in Excel
Gruß, Daniel
AW: suchen als VBA-Befehl
27.05.2006 12:41:19
Jürgen
Hallo Daniel,
jo das ist es. Super vielen Dank, das hilft mir weiter. Vielleicht fragst du dich, wofür ich das überhaupt brauche, aber ich versuche so eine große Datei ( aus einem Warenwirtschaftssystem täglich generiert ) nach Schmuck und nicht Schmuck zu trennen. Und das sind halt viele Kriterien, die ich sonst nur mit vielen "Wenns" ermitteln könnte. Ich denke mit einer eigenen Funktion und dann als Formel komme ich hier besser zum Ziel.
Tabelle1
 AB
1ArtikelbezeichnungFormel
2SilberketteKette
3Ring#WERT!
4Kette GoldKette
5Goldkette 40 cmKette
6  
7  
8ca 20.000 Datensätze 
9  
Formeln der Tabelle
B2 : =trennen(A2)
B3 : =trennen(A3)
B4 : =trennen(A4)
B5 : =trennen(A5)
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Aber so komme ich nun in jedem Fall weiter.
Public Function Trennen(Wert As String) If Application.WorksheetFunction.Search("*kette*", Wert, 1) >= 1 Then Trennen = "Kette" Else Trennen = "keine Kette" End If End Function
Nochmals vielen Dank für deine Antwort.
Gruß Jürgen
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige