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

Suchfunktion mit Ausgabe von Werten

Suchfunktion mit Ausgabe von Werten
23.10.2019 15:08:58
Werten
Hallo zusammen,
ich habe mal wieder eine Herausforderung zu bewältigen und bräuchte hierzu Eure Hilfe.
Mit der Unterstützung hier im Forum habe ich mir zwei Exceldateien erstellt.
1. Formular-Datei auf Laufwerk C (hier können alle wichtigen Infos eigegeben werden und via druck auf einen Button in eine Tabelle (Datenbank) auf dem Laufwerk H: geschrieben werden)
2.Tabellen-Datei auf Laufwerk H (hier werden alle Daten aus der Formular-Datei in Tabellenform gespeichert)
Als nächstes möchte ich nun die Daten aus einer gewissen Spalte der Tabellen-Datei wieder in die Formular-Datei einlesen. Dazu möchte ich auf einen Button gehen auf dem Projektnummer Suchen gehen, dieser Button soll eine Userform öffnen auf der ich dann eine "Projektnummer" eingeben kann, anschließend würde ich dann gerne auf einen Suchbutton gehen und dann soll in der Tabellendatei die Zeile mit die Projektnummer gesucht werden (Projektnummer steht immer in Spalte A). Wenn diese gefunden wird, dann sollen die Daten aus den einzelnen Zellen dieser Zeile wieder in einzelne Zellen der Formular Datei zurück geschrieben werden. Bsp. in der Tabellen-Datei steht in der Spalte B das "Anlage Datum" und in der Spalte C der "Projektleiter" nach Eingabe der Projektnummer "19-0001" soll das Makro schauen wo in der Spalte A der Tabellen-Datei die Projektnummer steht und dann das "Anlage Datum" aus der Spalte B und den Projektleiter aus Spalte C einmal in die Zelle AS3 (Anlage Datum) und in die Zelle BP3 (Projektleiter) in die Formular-Datei zurück schreiben.
Ich hoffe Ihr könnt anhand meiner Erklärung mein Problem verstehen :-).
Vielen Dank für Eure Unterstützung!
Grüße aus Rosenheim
Martin

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suchfunktion mit Ausgabe von Werten
23.10.2019 23:34:06
Werten
Hallo Martin,
beim Übertragen der Daten aus der Formulardatei in die Tabellen-Datei hatte ich dir ja schon geholfen.
Da war die Suche nach der Projektnummer auch schon drin. Jetzt müssen nur die Daten in umgekehrter Richtung übertragen werden.
Eine Userform ist hier zu aufwendig. Es reicht eine Inputbox für die Eingabe der zu suchenden Projekt-Nummer.
Nachfolgend das frühere Makro Makro angepasst für die Übernahme von Daten aus der Tabelle.
Die Zellen in die die Daten geschrieben werden sollen musst du noch anpassen!
LG
Franz
'Makro in der Formular-Datei in einem allgemeinen Modul
Sub prcSuchen()
Dim wkbTabelle As Workbook, wksTab As Worksheet
Dim ZeileTab As Long, rngProj As Range
Dim bolOpen As Boolean
Dim wksFormular As Worksheet
Dim strDateiname As String
Dim strPfad As String
Dim varProjNr
strDateiname = "Projektliste Übersicht.xlsx" ''anpassen !
strPfad = "H:\Vertrieb Koffer\112 Daten Kreuzmair" 'Verzeichnis anpassen
Set wksFormular = ThisWorkbook.Worksheets(1)
varProjNr = InputBox("Bitte Projekt-Nr. eingeben", "Daten zu Projekt suchen")
'prüfen, ob Projektnummer im Formular eingetragen ist
If varProjNr = "" Then
GoTo Beenden
End If
'Prüfen, ob Tabellen-Datei schon geöffnet ist
For Each wkbTabelle In Application.Workbooks
If LCase(wkbTabelle.Name) = LCase(strDateiname) Then Exit For
Next
If wkbTabelle Is Nothing Then
'Tabellen-Datei schreibgeschützt öffnen
Set wkbTabelle = Application.Workbooks.Open( _
Filename:=strPfad & Application.PathSeparator & strDateiname, _
ReadOnly:=True)
bolOpen = False
Else
bolOpen = True
End If
Set wksTab = wkbTabelle.Worksheets(1)
With wksTab
'Projektnummer in Spalte A suchen
Set rngProj = .Range("A:A").Find(What:=varProjNr, _
LookIn:=xlValues, lookat:=xlWhole)
If rngProj Is Nothing Then
MsgBox "Projekt-Nr. ist in Datei """ & wkbTabelle.Name _
& """ nicht vorhanden!", _
vbInformation + vbOKOnly, _
"Projektdaten suchen"
Else
ZeileTab = rngProj.Row
'Zelladressen in Folgezeilen ggf.  anpassen
wksFormular.Range("?").Value = .Cells(ZeileTab, 1).Value 'Projekt
wksFormular.Range("AS3").Value = .Cells(ZeileTab, 2).Value 'Datum
wksFormular.Range("BP3").Value = .Cells(ZeileTab, 3).Value 'Projektleiter
End If
If bolOpen = False Then wkbTabelle.Close savechanges:=False
ThisWorkbook.Activate
End With
Beenden:
End Sub

Anzeige
AW: Suchfunktion mit Ausgabe von Werten
24.10.2019 11:21:05
Werten
Hallo Franz,
läuft Perfekt! Vielen Dank!
Ich hätte gerne noch das wenn man die Daten holt das vorher alle Felder die beschrieben werden können geleert werden. Hast Du hierzu auch noch eine Idee?
Grüße aus Rosenheim
Martin
AW: Suchfunktion mit Ausgabe von Werten
24.10.2019 18:46:48
Werten
Hallo Martin,
hier das Makro mit entsprechender Ergänzung um Eingabezellen zu leeren.
LG
Franz
Sub prcSuchen()
Dim wkbTabelle As Workbook, wksTab As Worksheet
Dim ZeileTab As Long, rngProj As Range
Dim bolOpen As Boolean
Dim wksFormular As Worksheet
Dim strDateiname As String
Dim strPfad As String
Dim varProjNr
strDateiname = "Projektliste Übersicht.xlsx" ''anpassen !
strPfad = "H:\Vertrieb Koffer\112 Daten Kreuzmair" 'Verzeichnis anpassen
Set wksFormular = ThisWorkbook.Worksheets(1)
varProjNr = InputBox("Bitte Projekt-Nr. eingeben", "Daten zu Projekt suchen")
'prüfen, ob Projektnummer im Formular eingetragen ist
If varProjNr = "" Then
GoTo Beenden
End If
'Eingabezellen leeren - Zelladressen in Folgezeilen ggf.  anpassen
With wksFormular
.Range("?").ClearContents 'Projekt
.Range("AS3").ClearContents 'Datum
.Range("BP3").ClearContents 'Projektleiter
End With
'Prüfen, ob Tabellen-Datei schon geöffnet ist
For Each wkbTabelle In Application.Workbooks
If LCase(wkbTabelle.Name) = LCase(strDateiname) Then Exit For
Next
If wkbTabelle Is Nothing Then
'Tabellen-Datei schreibgeschützt öffnen
Set wkbTabelle = Application.Workbooks.Open( _
Filename:=strPfad & Application.PathSeparator & strDateiname, _
ReadOnly:=True)
bolOpen = False
Else
bolOpen = True
End If
Set wksTab = wkbTabelle.Worksheets(1)
With wksTab
'Projektnummer in Spalte A suchen
Set rngProj = .Range("A:A").Find(What:=varProjNr, _
LookIn:=xlValues, lookat:=xlWhole)
If rngProj Is Nothing Then
MsgBox "Projekt-Nr. ist in Datei """ & wkbTabelle.Name _
& """ nicht vorhanden!", _
vbInformation + vbOKOnly, _
"Projektdaten suchen"
Else
ZeileTab = rngProj.Row
'Zelladressen in Folgezeilen ggf.  anpassen
wksFormular.Range("?").Value = .Cells(ZeileTab, 1).Value 'Projekt
wksFormular.Range("AS3").Value = .Cells(ZeileTab, 2).Value 'Datum
wksFormular.Range("BP3").Value = .Cells(ZeileTab, 3).Value 'Projektleiter
End If
If bolOpen = False Then wkbTabelle.Close savechanges:=False
ThisWorkbook.Activate
End With
Beenden:
End Sub

Anzeige
AW: Suchfunktion mit Ausgabe von Werten
25.10.2019 06:09:50
Werten
Guten Morgen Franz,
vielen Dank! Funktioniert auch wieder Perfekt!
Vielen Dank für deine Unterstützung!
Grüße aus Rosenheim
Martin
wenn gelöst, dann nicht mehr offen. owT
25.10.2019 09:49:33
Werner

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige