Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen

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.

GrußformelHomepage


  

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 :)