[VBA] GetDataClosedWB
#11
we are getting there Smile

Cool!

- Allerdings kann ich mit den Const Variablen keine Range angeben, oder?
Denn der jeweilige Wert wird ja aus ner Zelle gezogen.

Pfad = Range("DataPfad")
Dateiname = Range("PreisDatei")
Blatt = Range("Preisblatt")
Zellen = Range("PreisBereich")

Geht nicht irgendwie etwas wie:

Const strPath As String = Pfad 

... hm
Top
#12
Hallo, :19:

nein, bei einer Konstanten - wie der Name schon sagt - kannst du keine Variable nehmen. Du kannst natürlich auch Dim... As... nehmen. Das ist gehupft wie gesprungen. :21:
Top
#13
verflixt.

Aus irgendeinem Grund sagt er mir bei jedem Sheet, es sei nicht vorhanden... 

Code:
Dim strPath As String, strFile As String, strSheetName As String, strRange As String, strDestination As String
Dim arrMonate As Variant
Dim arrBlatt As Variant
Dim Zelle As Variant
Pfad = Range("DataPfad")
Dateiname = Range("DataFile")
Zellen = Range("MonatBereich")
Zelle = Range("UpdateMonat")
   arrMonate = Worksheets("Data").Range("C27:C38")
   arrBlatt = Worksheets("Data").Range("D27:D38")
       
        If IsNumeric(WorksheetFunction.Match(Zelle, arrMonate, 0)) Then
                 
        Blatt = arrBlatt(WorksheetFunction.Match(Zelle, arrMonate, 0), 1)
       
       
strPath = Pfad
strFile = Dateiname
strSheetName = Blatt
strRange = Zellen
       
        If ADOSheet(strPath & strFile, strSheetName) = True Then
             If GetDataClosedWB(strPath, strFile, strSheetName, strRange, Worksheets(strSheetName).Range("A:AZ")) Then
             
         MsgBox "Update " & Range("UpdateMonat") & " erfolgreich", vbInformation, "Update"
         Else
       
   End If
   Else
   MsgBox "Sheet nicht vorhanden!"
       End If
        End If
Top
#14
Hallo,

was für einen Inhalt hat die Variable Pfad?
Gruß Stefan
Win 10 / Office 2016
Top
#15
Pfad = Range("DataPfad")

und in der Zelle den Pfad .. C:\Users\...\..\..\2020\Data\
Top
#16
Hallo,

der Pfad existiert und Du hast auch Zugriff darauf?
Gruß Stefan
Win 10 / Office 2016
Top
#17
jep und jep.

lasse ich 
If ADOSheet(strPath & strFile, strSheetName) = True Then
weg, dann geht es auch...
( If GetDataClosedWB(strPath, strFile, strSheetName, strRange, Worksheets(strSheetName).Range("A:AZ")) Then )

Mit ADOSheet bekomme ich aber bei jedem Blatt die Meldung "FALSCH"
> MsgBox ADOSheet(strPath & strFile, strSheetName)
Top
#18
Hallo, :19:

ich verwette meinen Ar... - im Tabellnblattname ist mindestens ein Leerzeichen. :21:

Habe noch nie verstanden, wie man Leerzeichen - Umlaute, "ß" oder sonstige ominöse Zeichen in Pfad-, Datei- oder Tabellenblattnamen verwenden kann.

Dann so: :21:

Code:
If objTab.Name = "'" & strSheet & "$'" Then
Top
#19
Huhu,

stimmt Smile)

- Ändert vorerst trotzdem nix.

Vielleicht hilft uns angehängtes Bild weiter?


Angehängte Dateien Thumbnail(s)
   
Top
#20
Hallo, :19:

also ich habe es eben mit - strSheetName = "Tab elle 1" - probiert. Geht. :21:
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste