Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1448to1452
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

VBA: getopenfilename in pt-sourcedata einfügen

VBA: getopenfilename in pt-sourcedata einfügen
06.10.2015 18:39:19
Peter
Hallo.
Ich möchte per Makro für ein pt mittels Öffnen-Methode eine andere Excel-Datei (mit Bereich "data") als Datenquelle zuordnen. Mit dem ua VBA-Code sind die Datentypen nicht verträglich.
Bitte und Danke. lg.
Sub OPEN_PROGNOSE()
Dim Fname As Variant
Dim srcdata As String
' Change drive/directory to MyPath.
ChDrive MyPath
ChDir MyPath
' Open GetOpenFilename with the file filters.
Fname = Application.GetOpenFilename( _
Title:="MB Daten aus Segmentbericht auswählen:", _
MultiSelect:=True)
srcdata = CStr(Fname) & "!data"
' Pivotquelle ändern
ActiveSheet.PivotTables("MBDATA").ChangePivotCache ActiveWorkbook.PivotCaches.Create( _
SourceType:=xlDatabase, SourceData:=srcdata, Version:=xlPivotTableVersion14)
End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: getopenfilename in pt-sourcedata einfügen
06.10.2015 18:52:52
Daniel
Hi
da du das GetOpenfilename mit der Option "Multiselect:=True ausführst, wird dein FName ein eindimensionales Array, welches die Namen aller selektierten Dateien enthält.
das passiert auch dann, wenn du nur eine Datei auswählst.
in der folge dann versuchst du dieses Array wie einen einfache Textvariable zu händeln und das geht nicht, daher der Fehler.
wenn der Anwender nur eine Datei auswählen darf, dann solltst du das Multiselect auf FALSE setzen, dann wird FName ein Textstring.
sollte der Anwender mehrer Dateien auswählen dürfen, müsstest du dich entscheiden, welche der gewählten als srcdata übernommem wird, beispielsweise den ersten:
srcdata = FName(1) & "!data"
oder den letzten:
srcdata = FName(Ubound(FName)) & "!data"
Gruß Daniel
Anzeige

326 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige