Anzeige
Archiv - Navigation
1720to1724
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

nachfolgende Daten in Tabelle auslesen und anzeigen

nachfolgende Daten in Tabelle auslesen und anzeigen
12.11.2019 19:22:26
Manfredo
Hallo ich bin am verzweifeln. Ich möchte aus einer Tabelle mit Userforms Daten suchen. D.h. es soll aufgrund einer Eingabe in einem Textfeld dieser Wert in einem excelsheet gesucht werden. Meine Lösung findet einen Wert und dann wars das. Egal wie ich die Schleife setzte es funktioniert nicht. Es wird nur ein Wert und zwar der erste Wert gefunden, aber nicht die nachfolgenden. Hier habe ich die letzte Lösung mit einer Schleife, die allerdings nicht funktioniert.
For Each objWB In Application.Workbooks
If objWB.FullName = cstrFile1 Then
If objWB Is Nothing Then Set objWB = Workbooks.Open(cstrpath & cstrFile1)
With objWB
Set objRange = .Sheets(cstrTab).Columns(3).Find(What:=Tex_Variable, LookAt:= _
xlPart, _
LookIn:=xlValues, MatchCase:=False, SearchFormat:=False)
If Not objRange Is Nothing Then
Tex_Lizenz = Tex_Lizenz & objRange.Offset(0, 5)
Tex_Litkurz = Tex_Litkurz & objRange.Offset(0, 1)
Tex_FREI = ex_FREI & objRange.Offset(0, 0)
Else
MsgBox "Anwendung nicht gefunden!"
End If
If Not bolAlreadyOpen Then .Close False
End With
End If
Next

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: nachfolgende Daten in Tabelle auslesen und anzeigen
12.11.2019 19:23:42
Hajo_Zi
Warum schleife? Benutze Find()
Zu Deiner Datei kann ich nichts schreiben, was wohl daran liegt das ich nicht auf fremde Rechner schaue.Ich baue keine Datei nach.
Sollte die Datei verlinkt werden?

AW: nachfolgende Daten in Tabelle auslesen und anzeigen
12.11.2019 19:32:13
Manfredo
Danke für die schnelle Antwort. Es wird nix verlinkt. Der gefundene Wert wird einfach in einem Textfeld angezeigt und dann habe ich mir vorgestellt, dass mit OK weiter gesucht wird
AW: nachfolgende Daten in Tabelle auslesen und anzeigen
12.11.2019 20:30:57
Piet
Hallo Manfredo
ohne deine Datei zu sehen sieht man schon am Code was da fehlt, die Do Loop Schleife für FindNext!
Schau bitte mal wie das Ergebnis mit Do Loop aussieht. Würde mich freuen wenn es damit klappt.
mfg Piet
If Not objRange Is Nothing Then
Adr1 = objRange.Address
Do 'mehrere Texte mit ", " als langen String erfassen
Tex_Lizenz = Tex_Lizenz & objRange.Offset(0, 5) & ", "
Tex_Litkurz = Tex_Litkurz & objRange.Offset(0, 1) & ", "
Tex_FREI = ex_FREI & objRange.Offset(0, 0) & ", "
Set objRange = .Sheets(cstrTab).Columns(3).FindNext(objRange)
If objRange Is Nothing Then Exit Do
Loop Until Adr1 = objRange.Address
'überflüssige ", " am Textende abschneiden
Tex_Lizenz = Left(Tex_Lizenz, Len(Tex_Lizenz) - 2)
Tex_Litkurz = Left(Tex_Litkurz, Len(Tex_Litkurz) - 2)
Tex_FREI = Left(Tex_FREI, Len(Tex_FREI) - 2)
Else

Anzeige
AW: nachfolgende Daten in Tabelle auslesen und anzeigen
12.11.2019 20:38:53
Piet
Nachtrag
je nachdem wie viele Daten der Suchlauf erbringt könnte das für ein Textfeld zuviel sein.
Dann waere zu überlegen die Daten in einer Such-Tabelle oder als ListBox auszugeben.
mfg Piet
AW: nachfolgende Daten in Tabelle auslesen und anzeigen
12.11.2019 20:45:27
Manfred
O.k. vielen Dank piet für deine Mühe. Ich werde es morgen ausprobieren, da es jetzt schon zu spät ist und ich echt genervt bin. Ich werde nach jedem gefundenen Wert, die TextBox löschen und neu befüllen.
AW: nachfolgende Daten in Tabelle auslesen und anzeigen
13.11.2019 16:50:47
Manfred
funktioniert nicht! Habs ausprobiert und stürzt ab.
Wie funktioniert find()?
oder es müsste doch eine Lösung geben, da es doch gang und gebe ist Daten aus den Excellisten zu lesen.
Aber ich bin nun mal ein Einsteiger und hänge da rum
Anzeige
AW: nachfolgende Daten in Tabelle auslesen und anzeigen
13.11.2019 18:34:52
Piet
Hallo Manfredo
nach meiner Ansicht sollte der Code so wie unten laufen. Dazu müssen die drei Variablen vor For Next richtig gesetzt sein! Dem Workbook.Open Teil habe ich heraus genommen, weil bei deiner Auswertung über - If objWB.FullName = cstrFile1 Then die Datei bereits geöffnet sein muss!!
mfh Piet
Sub Test()
Tex_Variable = "Such Text ..."
cstrTab = "Tabelle2"
cstrFile1 = "F:\Excel Forum CxP 2019\Test.zlsm"
For Each objWB In Application.Workbooks
On Error GoTo Fehler
If objWB.FullName = cstrFile1 Then
With objWB
Set objRange = .Sheets(cstrTab).Columns(3).Find(What:=Tex_Variable, LookAt:= _
xlPart, LookIn:=xlValues, MatchCase:=False, SearchFormat:=False)
If Not objRange Is Nothing Then
Adr1 = objRange.Address
Do 'mehrere Texte mit ", " als langen String erfassen
Tex_Lizenz = Tex_Lizenz & objRange.Offset(0, 5) & ", "
Tex_Litkurz = Tex_Litkurz & objRange.Offset(0, 1) & ", "
Tex_FREI = ex_FREI & objRange.Offset(0, 0) & ", "
Set objRange = .Sheets(cstrTab).Columns(3).FindNext(objRange)
If objRange Is Nothing Then Exit Do
Loop Until Adr1 = objRange.Address
'überflüssige ", " am Textende abschneiden
Tex_Lizenz = Left(Tex_Lizenz, Len(Tex_Lizenz) - 2)
Tex_Litkurz = Left(Tex_Litkurz, Len(Tex_Litkurz) - 2)
Tex_FREI = Left(Tex_FREI, Len(Tex_FREI) - 2)
Else
MsgBox "Anwendung nicht gefunden!"
End If
End With
End If
Next objWB
Exit Sub
Fehler: MsgBox objWB.Name & "  unerwarteter Fehler"
End Sub

Anzeige
AW: nachfolgende Daten in Tabelle auslesen und anzeigen
13.11.2019 18:44:15
Piet
Nachtrag
deine Frage zum Find Befehl. Zeichne ihn bitte mit dem Makro Recorder auf, und schaue ihn dir genau an. Beim ersten mal werden alle Optionen eingestellt: Suchtext, ob xlPart oder ganzer Text, ob du in Zeilen oder Columnen suchst, usw. Klickst du dann im Dialog "weitersuchen" an ist der naechste Teil nur noch FindNext, mit Angane der Zelle ab der weitergesucht wird.
Hindet Find keinen Wert kommt eine Fehlermeldung, die man abfangen muss. Bei Set über If Fimd is Nothing Then, oder über On Error GoTo Fehlermarke. Wird auch von Microsoft im Detail erklaert.
mfg Piet

243 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige