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

Suchen und Filtern von Bezeichnungen mit VBA

Suchen und Filtern von Bezeichnungen mit VBA
04.07.2006 11:15:31
Bezeichnungen
Hallo,
ich hab da ein kleines Problem was für nen Experten sicherlich eine Leichtigkeit darstellt...
Und zwar:
Ich habe eine Excel Tabelle mit diversen Maßnahmen. in Tabelle1 die Maßnahmennummer in Spalte B und die Maßnahmenbezeichnung in Spalte C.
In Tabelle 2 die Maßnahmenbezeichnung in Spalte C.
Nun wird über eine Inputbox die Maßnahmennummer abgefragt und es soll anhand dieser dann in Tabelle 1 die Maßnahmenbezeichnung ermittelt werden. Anhand der ermittelten Maßnahmenbezeichnung soll dann in Tabelle 2 gefiltert werden.
Hier mal der Quellcode den ich bisher habe...

Private Sub Filternummer()
Dim Nummer As Double
Dim zaehler As Double
Dim Massnahme As String
Dim Zahlwerk As Double
Nummer = InputBox("Bitte geben Sie die Nummer der Maßnahme ein nach der selektiert werden soll", "Eingabe Maßnahmen Nummer")
Zahlwerk = Nummer
For zaehler = 10 To Zahlwerk + 10              'Es geht erst in Zeile10 los
If Cells(Zahlwerk, 2) = Nummer Then Massnahme = Cells(Zahlwerk, 3)
Next zaehler
Selection.AutoFilter Field:=3, Criteria1:=Massnahme
End Sub

Dabei noch die Frage, wie kann ich sagen das er dann den Part des Filterns in Tabelle 2 macht?
Ich danke schon mal ganz herzlich für die Mühe die ihr euch macht.

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suchen und Filtern von Bezeichnungen mit VBA
04.07.2006 16:04:55
Bezeichnungen
Hallo Michael,
so sollte es etwa ausschauen

Private Sub Filternummer()
Dim Nummer As Integer
Dim zaehler As Long
Dim Massnahme As String
Dim wks1 As Worksheet, wks2 As Worksheet
Set wks1 = Sheets("Tabelle1")
Set wks2 = Sheets("Tabelle2")
Nummer = CInt(Val(InputBox("Bitte geben Sie die Nummer der Maßnahme ein nach der selektiert werden soll", "Eingabe Maßnahmen Nummer")))
If Nummer = 0 Then Exit Sub 'Abbrechen wurde angeklickt
With wks1
'Für den Zaehler werden alle ausgefüllten Zeilen unterhalb von Zeile 10 erfasst
For zaehler = 10 To .Cells(.Rows.Count, 2).End(xlUp).Row 'Es geht erst in Zeile10 los
If .Cells(zaehler, 2) = Nummer Then Massnahme = .Cells(zaehler, 3): Exit For
Next zaehler
End With
With wks2
If .Cells.SpecialCells(xlCellTypeVisible).Count <> .Cells.Count Then
.ShowAllData ' Zeigt alle Daten in tabelle an
End If
.Range("A1").AutoFilter Field:=3, Criteria1:=Massnahme 'zu filternde Liste beginnt in A1
.Activate
End With
End Sub

Deklariere Zähler für For-Next-Schleifen und Variablen für Tabellenzeilen immer als Integer oder Long.
Statt der For-Next-Schleife könnte man auch die schneller Tabellenfunktion VLookup (SVERWEIS) nutzen. Dies schaut dann so aus:

Sub Filternummer()
Dim Nummer As Integer
Dim Massnahme As String
Dim wks1 As Worksheet, wks2 As Worksheet, Massnahmen As Range
Set wks1 = Sheets("Tabelle1")
Set wks2 = Sheets("Tabelle2")
'Massnahme auswahlen
Nummer = CInt(Val(InputBox("Bitte geben Sie die Nummer der Maßnahme ein nach der selektiert werden soll", "Eingabe Maßnahmen Nummer")))
If Nummer = 0 Then Exit Sub 'Abbrechen wurde angeklickt
With wks1
Set Massnahmen = .Range(.Cells(10, "B"), .Cells(.Rows.Count, "C").End(xlUp))
Massnahme = Application.WorksheetFunction.VLookup(Nummer, Massnahmen, 2, False)
End With
With wks2
If .Cells.SpecialCells(xlCellTypeVisible).Count <> .Cells.Count Then
.ShowAllData ' Zeigt alle Daten in tabelle an
End If
.Range("A1").AutoFilter Field:=3, Criteria1:=Massnahme 'zu filternde Liste beginnt in A1
.Activate
End With
End Sub

gruss Franz
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige