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

Bereich anpassen

Bereich anpassen
05.05.2014 11:39:14
Kim
Hallo,
ich habe ein Userform erstellt mit einem Textfeld zum Suchen.
Hier sollen beliebige Werte aus einem Tabellenblatt gelesen werden.
Das Makro ist nicht von mir und ich habe es etwas angepasst.
Das Makro funktioniert auch allerdings durchsucht wird nur die erste Zeile.
Ich würde gerne die ganze Mappe durchsuchen oder wenigstens die Spalten A bis L.
Ich denke das ich die folgende Zeile anpassen muss, bekomme es aber nicht hin.
If Cells(i, 1) = x Then
Hier mal das ganze Makro
Private Sub CommandButton1_Click()
Dim x As String
Z = Sheets(1).UsedRange.Rows.Count
x = TextBox1
temp = 0
For i = 1 To Z
If Cells(i, 1) = x Then
temp = 1
Exit For
End If
Next
If temp = 1 Then
Unload Me
zeile = i
UserForm2.Show
Else
MsgBox "Suchbegriff nicht vorhanden!", vbExclamation
TextBox1 = ""
End If
End Sub

Über Hilfe würde ich mich freuen.
Danke

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bereich anpassen
06.05.2014 06:01:33
fcs
Hallo Kim,
mit folgender Anpassung werden zusätzlich auch die Spalten abgearbeitet:
Private Sub CommandButton1_Click()
Dim x As String, S as long
Z = Sheets(1).UsedRange.Rows.Count
x = TextBox1
temp = 0
For i = 1 To Z
For S = 1 To 12 'Spalten A bis L
If Cells(i, S) = x Then
temp = 1
Exit For
End If
Next
Next
If temp = 1 Then
Unload Me
zeile = i
UserForm2.Show
Else
MsgBox "Suchbegriff nicht vorhanden!", vbExclamation
TextBox1 = ""
End If
End Sub
Die nachfolgende Variante ist aber ggf wesentlich schnelle, da nicht jeder Zelle einzeln verglichen wird bzw. eine schnelle Excelfunktion verwendet wird.
Private Sub CommandButton1_Click()
Dim x As String, Zelle As Range
Z = Sheets(1).UsedRange.Rows.Count
x = TextBox1
If x = "" Then
MsgBox "Bitte Suchbegriff eingeben."
Exit Sub
End If
With Sheets(1)
With .Range(.Cells(1, 1), .Cells(Z, 12))
Set Zelle = .Find(What:=x, LookIn:=xlValues, lookat:=xlWhole)
End With
End With
If Zelle Is Nothing Then
MsgBox "Suchbegriff nicht vorhanden!", vbExclamation
TextBox1 = ""
Else
Unload Me
zeile = Zelle.Row
UserForm2.Show
End If
End Sub
Gruß
Franz

Anzeige
AW: Bereich anpassen
06.05.2014 09:55:20
Kim
Hallo Franz,
danke für deine Hilfe. Die zweite Variante klappt prima.
1000 Dank
Kim

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige