MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Excel
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 12.07.2019, 09:05   #1
seppel5001
Neuer Benutzer
Neuer Benutzer
Standard Excel 2013 - Auslesen aus geschlossener Arbeitsmappe mit variabler Pfad- und Dateiangabe

Moin, moin.

Ich brauchte mal wieder eure Hilfe. Aktuell habe ich im Code eine feste Pfadangabe und einen festen Dateinamen. Diesen würde ich aber gerne variabel gestalten. Soll heißen: Die Pfadangabe wird in der Zelle A2 und der Dateiname wird in der Zelle A9 eingetragen. Wie müsste das in meinem Code aussehen?
Angehängte Dateien
Dateityp: xlsm Werte aus geschlossener Arbeitsmappe uebertragen.xlsm (32,1 KB, 3x aufgerufen)
Dateityp: xlsx Mappe1.xlsx (14,5 KB, 0x aufgerufen)
Dateityp: xlsx Mappe2.xlsx (14,5 KB, 0x aufgerufen)

__________________

Gruß, Heiko
seppel5001 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 12.07.2019, 09:13   #2
Werner.M
MOF User
MOF User
Standard

Hallo,

so:
PHP-Code:

Sub Zelle_auslesen_1()
'*** Zelle_makieren Makro
    Range("B9").Select
'
** Dimensionierung der Variablen
Dim pfad 
As Stringdatei As Stringblatt As Stringzelle As String

'** Angaben zur auszulesenden Zelle
pfad = ThisWorkbook.Worksheets("Auslesen").Range("A2") & ""
'
da muss aber dann zwingend auch die Dateiendung
'in der Zelle A9 mit angegeben werden
datei = ThisWorkbook.Worksheets("Auslesen").Range("A9")
blatt = "Tabelle1"
bezug = "B77"

'
** Eintragen in Zelle
ActiveCell
.Value GetValue(pfaddateiblattbezug)

End Sub 
Gruß Werner
Werner.M ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 12.07.2019, 09:17   #3
Werner.M
MOF User
MOF User
Standard

Hallo,

hmmm, irgendwie hat die Forensoftware den Backslash rausgeschmissen.
hier & "" muss der Backslash in die Gänsefüßchen rein.

Gruß Werner
Werner.M ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 12.07.2019, 09:48   #4
Mase
MOF Profi
MOF Profi
Standard

Tipp:
dreimal backslash = einmal angezeigt
\

__________________

gruß
Marco
Mase ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 12.07.2019, 09:59   #5
haklesoft
MOF Koryphäe
MOF Koryphäe
Standard

... oder
Code:

Application.PathSeparator
reinschreiben. Dann klappts auch mit der Forensoftware.

__________________


Hang loose, haklesoft
haklesoft ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 12.07.2019, 12:06   #6
Werner.M
MOF User
MOF User
Standard

Hallo,

danke für den Hinweis (natürlich auch deinem Vorredner).

Mal ein kleiner Hinweis von mir zu deinem Pseudonym:
Hans Klenk

Gruß Werner
Werner.M ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 12.07.2019, 12:25   #7
Mase
MOF Profi
MOF Profi
Standard

Zitat: von Werner.M Beitrag anzeigen

Hallo,

danke für den Hinweis (natürlich auch deinem Vorredner).

Mal ein kleiner Hinweis von mir zu deinem Pseudonym:
Hans Klenk

Gruß Werner

Hm, das Gesetz des rosaroten Elefanten.
Danke dafür

__________________

gruß
Marco
Mase ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 12.07.2019, 13:01   #8
haklesoft
MOF Koryphäe
MOF Koryphäe
Standard

OT:

Zitat:

Hans Klenk

Nein, in diese Feuchtgebiete wage ich mich nicht hinein!

__________________


Hang loose, haklesoft
haklesoft ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 12.07.2019, 16:27   #9
EarlFred
MOF Guru
MOF Guru
Standard

Zitat:

dreimal backslash = einmal angezeigt

Zweimal reicht, der dritte wird nur wieder gelöscht

__________________

Datum und Uhrzeit, Makrorekorder-Code entschlacken, {Matrixformeln}
Tutorials zu Pivottabellen: Kurzeinstieg; Dynamischer Datenbereich; Daten und Zeiten gruppieren
Für 7 meiner Beiträge haben sich die Hilfesuchenden mit einer Spende an Wikipedia, die Tafeln oder Hilfe für krebskranke Kinder eV bedankt (das entspricht 0,049% per 19.12.2018) - eine tolle Geste!
EarlFred ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 12.07.2019, 19:58   #10
seppel5001
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Erst einmal Danke für die schnelle Antwort.
Nur bekomme ich in den ausgewiesenen Zellen immer #BEZUG! angezeigt.
Mein Code sieht aktuell so aus.

PHP-Code:

Sub Zelle_auslesen_1()
'*** Zelle_makieren Makro
    Range("B8").Select
'
** Dimensionierung der Variablen
Dim pfad 
As Stringdatei As Stringblatt As Stringzelle As String

'** Angaben zur auszulesenden Zelle
pfad = ThisWorkbook.Worksheets("Auslesen").Range("A2") & ""
'
da muss aber dann zwingend auch die Dateiendung
'in der Zelle A8 mit angegeben werden
datei = ThisWorkbook.Worksheets("Auslesen").Range("A8")
blatt = "Tabelle1"
bezug = "B77"

'
** Eintragen in Zelle
ActiveCell
.Value GetValue(pfaddateiblattbezug)

End Sub


Private Function GetValue(pfaddateiblattzelle)
'** Daten aus geschlossener Arbeitsmappe auslesen

'
*** Dimensionierung der Variablen
Dim arg 
As String

'Sicherstellen, dass das datei vorhanden ist
If Right(pfad, 1) <> "" Then pfad = pfad & ""
If Dir(pfad & datei) = "" Then
GetValue = "datei Not Found"
Exit Function
End If

'
** Das Argument erstellen
arg 
"'" pfad "[" datei "]" blatt "'!" Range(zelle).Range("A1").Address(, , xlR1C1)

** 
Auslesen über Excel4Macro
GetValue 
ExecuteExcel4Macro(arg)

End Function 
Wo ist mein Fehler?

__________________

Gruß, Heiko
seppel5001 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 13.07.2019, 06:41   #11
seppel5001
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Moin.
Muss mich entschuldigen. Der Code funktioniert doch bestens. Der Fehler lag auf meiner Seite .
Jetzt stört mich nur, dass jedes mal die Dateiendung mit angegeben werden muss. Kann man dieses eventuell auch anders lösen. Zum Hintergrund:
Der Dateiname der Ursprungsdatei wird über einen Barcode generiert. Genauso funktioniert später auch die Eingabe in die Tabelle, wo die Auswertung der angegebenen Zellen statt findet.

__________________

Gruß, Heiko
seppel5001 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 13.07.2019, 07:16   #12
Mase
MOF Profi
MOF Profi
Standard

Zitat: von EarlFred Beitrag anzeigen

Zweimal reicht, der dritte wird nur wieder gelöscht

Zefix!
Tx.

__________________

gruß
Marco
Mase ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 13.07.2019, 08:01   #13
seppel5001
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Besser so?

PHP-Code:

Sub Zelle_auslesen_1() 
'*** Zelle_makieren Makro 
    Range("B8").Select 
'
** Dimensionierung der Variablen 
Dim pfad 
As Stringdatei As Stringblatt As Stringzelle As String 

'** Angaben zur auszulesenden Zelle 
pfad = ThisWorkbook.Worksheets("Auslesen").Range("A2") & "\" 
'
da muss aber dann zwingend auch die Dateiendung 
'in der Zelle A8 mit angegeben werden 
datei = ThisWorkbook.Worksheets("Auslesen").Range("A8") 
blatt = "Tabelle1" 
bezug = "B77" 

'
** Eintragen in Zelle 
ActiveCell
.Value GetValue(pfaddateiblattbezug

End Sub 


Private Function GetValue(pfaddateiblattzelle
'** Daten aus geschlossener Arbeitsmappe auslesen 

'
*** Dimensionierung der Variablen 
Dim arg 
As String 

'Sicherstellen, dass das datei vorhanden ist 
If Right(pfad, 1) <> "\" Then pfad = pfad & "\" 
If Dir(pfad & datei) = "" Then 
GetValue = "datei Not Found" 
Exit Function 
End If 

'
** Das Argument erstellen 
arg 
"'" pfad "[" datei "]" blatt "'!" Range(zelle).Range("A1").Address(, , xlR1C1

** 
Auslesen über Excel4Macro 
GetValue 
ExecuteExcel4Macro(arg

End Function 

__________________

Gruß, Heiko
seppel5001 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 13.07.2019, 08:13   #14
Hajo_Zi
MOF Guru
MOF Guru
Standard

Hallo Heiko,

Bitte berücksichtige das Themen die Erledigt sind als Erledigt markiert werden können. Also mache es unten links mit Klick auf den Schalter "als erledigt setzen", falls Problem gelöst.
Der Zustand des Beitrages wird dann in der Übersicht angezeigt und man braucht sich diese Beiträge nicht mehr ansehen.

Bitte berücksichtige das Themen die Erledigt sind als Erledigt markiert werden können. Also mache es unten links mit Klick auf den Schalter "als erledigt setzen", falls Problem gelöst.
Der Zustand des Beitrages wird dann in der Übersicht angezeigt und man braucht sich diese Beiträge nicht mehr ansehen.

Grußformel

Meine Homepage http://hajo-excel.de/index.htm

__________________

Signatur in jedem Beitrag
Bitte Version angeben. Bei keiner Angabe gehe ich von meinen Angaben aus.
Betriebssystem: Windows 10 - 64 Bit, Office 2016 - 32 Bit.
Fragen werden im Forum beantwortet, nicht per PN.
Hajo_Zi ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 13.07.2019, 08:18   #15
seppel5001
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hallo Hajo.
Danke für den Hinweis. Aber das Thema ist nun mal noch nicht erledigt. Sobald dieses so ist, kommt auch ein Haken dran.

__________________

Gruß, Heiko
seppel5001 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:59 Uhr.



Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.