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

SuchfunktionVerweis...

Suchfunktion_Verweis...
29.05.2004 11:26:24
Roland
Hallo!
Ich habe in einem Workbook zwei Tabellen. In der Tabelle 2 habe ich im Bereich A1:A1500 Berufe eingetragen; im Bereich B1:B1970 stehen dann immer die zu den Berufen passenden Gefahrenklassen (entweder "1" oder "2"). In der Tabelle 1 (Range A1) möchte ich nun eine Suchfunktion einbauen. Gebe ich z.B. in A1 den Buchstaben T ein, sollen in Tabelle 1/Bereich C1:C alle Berufe stehen, die mit den Anfangsbuchstaben T haben und im Bereich E1:E100 die zu den Beruf passenden Gefahrenklassen (1 oder 2). Gebe ich aber in Tabelle 1 (Range A1) z.B. "Tisch" ein, sollen alle Berufe mit den Anfangsbuchstaben "Tisch" gefunden werden. Das alles soll nach verlassen der Zelle automatisch passieren. (Range A1;After Update).
Bitte um Unterstützung, danke!
Grüße
Roland

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suchfunktion_Verweis...
29.05.2004 11:43:25
Matthias G
Hallo Roland,
folgenden Code ins Codemodul von Tabelle1:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim z As Range, lz As Long, i As Long, ze As Long
Dim Such As String, l As Long
If Target.Address <> "$A$1" Then Exit Sub
Columns("C:D").ClearContents
Such = Target.Value
l = Len(Such)
lz = Sheets("Tabelle2").Range("A65536").End(xlUp).Row
ze = 1
For i = 1 To lz
If Left(Sheets("Tabelle2").Cells(i, 1).Value, l) = Such Then
Cells(ze, 3) = Sheets("Tabelle2").Cells(i, 1).Value
Cells(ze, 4) = Sheets("Tabelle2").Cells(i, 2).Value
ze = ze + 1
End If
Next i
End Sub
Gruß Matthias
Anzeige
AW: Suchfunktion_Verweis - kl. Korrektur
29.05.2004 11:47:37
Matthias G
Hallo Roland,
Kleine Korrektur, damit das ganze unabhängig von Groß/Kleinschreibung funktioniert.
Außerdem wird nichts stall alles angezeigt, wenn A1 leer ist.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim z As Range, lz As Long, i As Long, ze As Long
Dim Such As String, l As Long
If Target.Address <> "$A$1" Then Exit Sub
Columns("C:D").ClearContents
Such = UCase(Target.Value)
l = Len(Such)
If l = 0 Then Exit Sub 'Abbruch bei leerer Zelle
lz = Sheets("Tabelle2").Range("A65536").End(xlUp).Row
ze = 1
For i = 1 To lz
If UCase(Left(Sheets("Tabelle2").Cells(i, 1).Value, l)) = Such Then
Cells(ze, 3) = Sheets("Tabelle2").Cells(i, 1).Value
Cells(ze, 4) = Sheets("Tabelle2").Cells(i, 2).Value
ze = ze + 1
End If
Next i
End Sub
Gruß Matthias
Anzeige
AW: Suchfunktion_Verweis - kl. Korrektur
29.05.2004 11:59:59
Beate Schmitz
Hallo Matthias,
tolles Makro und sehr vielseitig verwendbar. Danke.
Hatte sowas bisher auf Formelbasis gelöst, aber das ist ja viel flexibler und belastet die Datei nicht so.
Gruß,
Beate
AW: Suchfunktion_Verweis - kl. Korrektur
29.05.2004 12:16:52
Roland
Hallo Matthias!
Sensationell, funkt perfekt. Eines aber noch: Die Gefahrenklassen sollen nicht in Spalte D sondern in Spalte E stehen. Wie mach ich das? ich kann das aus deinem Code leider nicht auslesen...
Also Berufe stehen in tabelle 1 in Spalte C und die Gefahrenklassen sollten dann in Spalte E stehen. Jetzt sind diese in Spalte in D.
Bitte noch einmal kurz um Deine Hilfe, danke!
Grüße
Roland
Anzeige
AW: Suchfunktion_Verweis - kl. Korrektur
29.05.2004 12:30:52
Matthias G
Hallo Roland,
aus:
Cells(ze, 4) = Sheets("Tabelle2").Cells(i, 2).Value
mach:
Cells(ze, 5) = Sheets("Tabelle2").Cells(i, 2).Value
Es heisst nämlich Cells(zeile, spalte).
Gruß Matthias
AW: Suchfunktion_Verweis - kl. Korrektur
29.05.2004 13:22:28
Roland
Jetzt passt's. Vielen Dank, hab wieder was gelernt!
Grüße
Roland

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige