Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
532to536
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
532to536
532to536
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Pivot SourceData aus 2 Arbeitsblätter

Pivot SourceData aus 2 Arbeitsblätter
15.12.2004 08:36:43
R.Schmitt
Guten Morgen zusammen,
nachdem ich die Recherche durchearbeitet und dort auch
nichts gefunden habe, wende ich mich mit dem Problem an
die Teilnehmer des Forums.
Besteht die Möglichkeit die SourceData einer Pivot
Tabelle aus zwei Tabellenblättern zusammenzubauen ?
Grund hierfür :
Die Liste mit den Daten ist über 65.536 Zeilen lang.
Mit Array oder einem Array aus Bereichen und und und
bin ich gestern abend auch nicht mehr weitergekommen.
Die Spalten wären in beiden Arbeitsblättern die gleichen.
Ebenso deren Überschriften.
Für rettende Hinweise
schon mal Vielen Dank
R.Schmitt

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pivot SourceData aus 2 Arbeitsblätter
15.12.2004 10:13:23
Rolf
Hallo R.,
wenn du aus den beiden Sheets
2 Mappen generierst, kannst du
diese via Abfrage mit der SQL-Klausel "Union"
als externe Datenquelle definieren.
s.Beispiel
fg
Rolf

Sub piverstellen()
Dim v, constring, sqlstring As String
v = "C:\Arbeitsverzeichnis"
ChDir v
constring = "odbc;DSN=Excel-Dateien;DBQ=" & v & "\datei1.xls;DefaultDir=" _
& v & ";DriverId=22;MaxBufferSize=512;PageTimeout=5;UID=admin;"
sqlstring = "SELECT* FROM datei1.db db" _
& " union select* from datei2.db db" 'db=benannter Quellbereich
With ActiveSheet
.PivotTableWizard SourceType:=xlExternal, SourceData:=parti((sqlstring)), _
TableDestination:="R1C1", TableName:="PT", Connection:=constring
.PivotTables("PT").PivotFields("Betrag").Orientation = xlDataField
End With
End Sub


Function parti(y As String) As Variant      'sqlstring partitionieren
Dim p As Single                         'Anzahl Partitionen
Dim i As Integer                        'Schleifenzähler
p = Int(Len(y) / 200) + 1
ReDim x(p)                              'Datenfeld zur Aufnahme der Partitionen
If p > 1 Then                           'Sql-Text >=200
For i = 1 To p - 1                  'Partitionsschleife
x(i) = Mid$(y, (i - 1) * 200 + 1, 200)
Next
End If
x(p) = Right$(y, Len(y) - (p - 1) * 200) 'erste bzw letzte Partition
parti = x
End Function


Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige