Spaltenindex
Betrifft: Spaltenindex
von: Nico
Geschrieben am: 14.11.2014 19:46:33
Hallo Zusammen,
ich möchte folgendes über eine Userform mit Eingabefeld ComboBox realisieren:
(ComboBox enthält Suchbegriffe)
Frage 1: Wie übergebe ich den ausgewählten Suchbegriff aus der ComboBox in eine Variable?
Frage 2: Wie verarbeite ich die Variable mit Suchbegriff so, dass die erste Zeile meiner Tabelle durchsucht wird und den Spaltenindex ermittelt. Der Spaltenindex soll wiederum in einer Variablen z.B. "Global spalte As Integer" übergeben werden.
Vielen Dank vorab
Nico
Betrifft: AW: Spaltenindex
von: Hajo_Zi
Geschrieben am: 14.11.2014 19:51:52
Hallo Nico,
zu 1 Variable =Combobox
zu 2 Find, Suche des Forums.

Betrifft: AW: Spaltenindex
von: Nico
Geschrieben am: 14.11.2014 22:37:54
Hallo Hajo,
habe folgendes:
Der Code findet in Zeile 1 die Zelle mit dem Suchkriterium und selektiert diese. Der Spaltenindex bleibt jedoch immer auf 1.
Sub SucheIndex()
Dim WS As Worksheet
Dim Suche As Range
Dim SpalteX As Byte
Range("A1").Select
Set WS = Workbooks("Test.xlsm").Worksheets("AAA")
Set Suche = WS.Rows("1:1")
Suche.Find(What:="Fax", After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:= _
xlByRows, _
SearchDirection:=xlNext, MatchCase:=False).Activate
SpalteX = Suche.Column
Worksheets("AAA").Cells(2, 13) = SpalteX
End Sub
Gruß Nico
Betrifft: AW: Spaltenindex
von: Nico
Geschrieben am: 14.11.2014 22:44:58
So funktioniert es ...
Sub SucheIndex()
Dim WS As Worksheet
Dim Suche As Range
Dim SpalteX As Byte
Range("A1").Select
Set WS = Workbooks("Test.xlsm").Worksheets("AAA")
Set Suche = WS.Rows("1:1")
Suche.Find(What:="Fax", After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:= _
xlByRows, _
SearchDirection:=xlNext, MatchCase:=False).Activate
SpalteX = Selection.Column
Worksheets("AAA").Cells(2, 13) = SpalteX
End Sub
Danke und noch nen schönen Abend :)
Betrifft: AW: Spaltenindex
von: Nico
Geschrieben am: 14.11.2014 22:46:27
PS.
Sollte es kürzer/einfacher gehen freue ich mich auf eine Antwort.
Betrifft: Vielleicht so
von: Michael
Geschrieben am: 15.11.2014 01:04:21
Hallo Nico,
ich bin halt ziemlich schreibfaul:
Sub SucheSpalte()
Dim gefunden As Range
Set gefunden = Workbooks("Test.xlsm").Worksheets("AAA").Rows("1:1"). _
Find(What:="Fax", LookIn:=xlValues, LookAt:=xlPart, _
MatchCase:=False)
MsgBox "'Fax' steht in Spalte " & gefunden.Column
End Sub
Willst Du wirklich in Formeln schauen? Habe es auf Werte gesetzt.
Schöne Grüße,
Michael
P.S.: noch auf die Spitze getrieben:
Sub SucheSpalte()
MsgBox Workbooks("Test.xlsm").Worksheets("AAA").Rows("1:1"). _
Find(What:="Fax", LookIn:=xlValues, LookAt:=xlPart, _
MatchCase:=False).Column
End Sub
Betrifft: AW: Vielleicht so
von: Nico
Geschrieben am: 15.11.2014 01:30:20
Herzlichen Dank :)