werte aus geschlossener excel datei
Hallo erst ein mal !!!
habe da ein problemm und komme nicht weiter.....
ich habe eine tabelle mal als beispiel....
die werte in A1 bis A3 sind meine vorhandenen werte.
den wert in A4
suche ich.die zahlenfolge in A1 bis A... (Vorgang)
sind alles nahmen von Exceldatein und aus diesen datein brauche
ich aus tabelle z.b.3 den wert aus D66 ist das irgen wie möglich !!!
A1 A2 A3 A4
1) Vorgang Kunde Lt. Werte
2) 01-0100-01 Alfa 15.4.09
3) 01-0100-02 Beta 15.5.09
4) 01-0100-03 Omega 14.6.09
5) 01-0100-04 XY 20.6.09
6)
7)
8)
9)
.
.
.
.
danke schon mal für eure mühe
gruß nero.
Antwort schreiben
Antwort 1 von nighty vom 09.05.2022, 00:06 Options
hi nero ^^
wie gewünscht :-))
gruss nighty
Spalte A=Dateinamen
Spalte B=Ausgabe
Auszulesende zelle A1
WorksheetName="Tabelle1"
Aufgliederung
R1C1=Row1,Column1=Zeile1,Spalte1
da der code recht kurz ist,duerfte er leicht anzupassen sein
Sub DateienLesen()
Dim ZellPos As Range
For Each ZellPos In Range("A2:A" & ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row)
Range("B" & ZellPos.Row) = ExecuteExcel4Macro("'C:\Temp\" & "[" & ZellPos & ".xls]Tabelle1" & "'!" & Range("A1").Address(, , xlR1C1))
Next ZellPos
End Sub
Antwort 2 von nero00022 vom 09.05.2022, 12:44 Options
hallo nighty !!
Danke schon mal für deine hilfe..!!!
aber geht es auch automatisch...?? jatzt muß ich ja noch die exceldatei suchen.
also ich möchte nur in z.b. A3 den nahmen der exceldatei eingeben ( 01-0100-01 )
und dan soll er mir aus dieser datei aus tabelle 1 D66 den wert ausgeben.
gruß nero
Antwort 3 von fedjo vom 09.05.2022, 13:51 Options
Hallo nero,
hab dir mal dazu eine
Musterdatei erstellt.
Laufwerksbuchstaben (G) im Makro wo die Dateien gespeichert sind ändern.
Blattname, Zelle und Datei eintragen.
Ausgabe erfolgt in der Aktiven Zelle.
Gruß
fedjo
Antwort 4 von nighty vom 09.05.2022, 14:24 Options
hi all ^^
was wuerde denn dagegen sprechen a1 durch d66 zu ersetzen ?
ist denn der standort unbekannt ?
gruss nighty
Antwort 5 von nero00022 vom 09.05.2022, 15:04 Options
Hallo nighty.
also ich glaube ich habe es nicht richtig erklärt...
also in A3 bis A 2000 ca. stehen die nahmen der exceldatein... die schon eingetragen sind.
jetzt möchte ich aus jeder datei aus tabelle 1 G66 den wert in meiner tabelle z.b. B3 bisB2000
und das alles automatich ohne ein button zu betätigen !
geht das überhaupt???
gruß nero..
Antwort 6 von nighty vom 10.05.2022, 10:03 Options
hi nero ^^
exel4 function(nur bei kleineren datenmengen einsetzbar,ansonsten dateien oeffnen) und dateien suchen sind beides sehr zeitintensive befehle und so nicht ratsam einzusetzen
was wuerdest du denn davon halten wenn beim oeffnen einer datei die daten eingelesen werden ?
nun zum standort der dateien !
Thisworkbook.path
haetten wir den Pfad der zuvor geoeffneten datei,vielleicht reicht ja das schon
ansonsten waere es sehr von vorteil allen beteiligten zu bitten ein und den selben ordner zu benutzen
gruss nighty
Antwort 7 von nero00022 vom 10.05.2022, 21:31 Options
Hallo nighty !!!
also ich möchte es vermeiden das ich jede datei noch mal öfnen muß !
da die datein alle im selben ordner liegen.... ich benötige auch nur ein mal
die werte aus den datein.
ich dacht vieleicht geht es so aber leider auch nicht.....
D3='C:\Excel\Test\[A3.xlsm]Test'!D66
wo A3.xlsm steht solte er eigendlich auf den wert aus zelle A3 zurück greifen
da der nahme der exceldatei da steht...
wen es nicht klappen sollte trotzdem vielen dank für eure hilfe
gruß nero022
Antwort 8 von nighty vom 11.05.2022, 06:58 Options
hi nero ^^
probier das mal,ob es dir gefaellt :-)
gruss nighty
einzufuegen alt+f11/projektexplorer/DeineArbeitsmappe
Private Sub Workbook_Open()
Call DateienLesen
End Sub
einzufuegen alt+f11/projektexplorer/AllgemeineModul
Sub DateienLesen()
Dim ZellPos As Range
For Each ZellPos In Range("A2:A" & ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row)
Range("B" & ZellPos.Row) = ExecuteExcel4Macro("'C:\Temp\" & "[" & ZellPos & ".xls]Tabelle1" & "'!" & Range("D66").Address(, , xlR66C4))
Next ZellPos
End Sub
Antwort 9 von nero00022 vom 12.05.2022, 05:47 Options
Hallo nighty !!!
also das ist was ich gesucht habe, jetzt habe ich aber noch ein problem...
die werte die in spalte A stehen sind Formelwerte...
die wiederrum aus einer anderren tabelle kommen...
wen ich sie von hand eingebe klapt es.
gibt es dafür noch eine lösung...
danke noch mals für deine hilfe !!!!!!
gruß nero.
Antwort 10 von nero00022 vom 12.05.2022, 23:13 Options
Habe es jetzt doch hibekommen !!!
aber ist es auch möglich wenn in den zellen ( Spalte A ) eine 0 steht das er
sie nicht überprüft....
gruß nero022 !!!
Antwort 11 von nighty vom 13.05.2022, 09:32 Options
hi nero ^^
probier mal :-)
gruss nighty
Sub DateienLesen()
Dim ZellPos As Range
For Each ZellPos In Range("A2:A" & ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row)
If Range("A" & ZellPos.Row).Value <> 0 Then Range("B" & ZellPos.Row) = ExecuteExcel4Macro("'C:\Temp\" & "[" & ZellPos & ".xls]Tabelle1" & "'!" & Range("D66").Address(, , xlR66C4))
Next ZellPos
End Sub
Antwort 12 von nero00022 vom 13.05.2022, 18:55 Options
Hi nighty !!!!
danke noch mal für deine schnelle hilfe !!!!
es klapt jetzt alles so wie ich es mir vorgestellt habe
supper von dir !!!!!!!!!!!
gruß nero