Ik wil met behulp van een macro een Draaitabel maken met een vergelijking tussen twee bestanden.
Bestand 1 is 2013_juli en die wil ik vergelijken met Bestand 2 (2012_juli). Hiervoor wil ik met een macro de gegevens binnen halen
Ik krijg echter deze draaitabel niet goed gedraaid. Het probleem zit erin dat
ActiveWorkbook.Connections("2013021") iets anders moet zijn nl. ActiveWorkbook.Connections("MyConnection") (dus de string MyConnection tussen aanhalingstekens). Dit krijg ik echter niet voor elkaar. Daarna moet ik nr. twee nog importeren en dan de vergelijking maken, maar dit lukt me wel (twee is nl. hetzelfde als 1, maar dan met andere waarden en met draaiformules krijg ik ook wel het verschil tussen die twee)
Ik zal vast iets heel doms over het hoofd zien, maar "" & MyConnection & "" werkt iig niet.
De MyPath, MyFileName en MyConnection geven goede waarden.
Bestand 1 is 2013_juli en die wil ik vergelijken met Bestand 2 (2012_juli). Hiervoor wil ik met een macro de gegevens binnen halen
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
| Sub Draaitabellen() ' ' Draaitabellen Macro ' Gegeneren Pivottables ' ' Sneltoets: CTRL+SHIFT+P ' dq = Chr(34) Dim MyPath As String Dim MyFileName As String 'The path and file names: MyPath = "U:\Omzet\" & Cells(2, 1) & "\" MyFileName = Cells(2, 1) & "_" & Cells(2, 2) & Cells(2, 3) & ".xlsx" MyConnection = Cells(2, 1) & "_" & Cells(2, 2) & Cells(2, 3) MySheet = "Draaitabel_" & MyConnection MyFile = MyPath & MyFileName Cells(23, 1).Value = MyFile Sheets.Add ActiveSheet.Name = MySheet ActiveWorkbook.Connections.Add dq & MyConnection & dq, "", Array( _ "OLEDB;Provider=Microsoft.ACE.OLEDB.12.0;Password="""";User ID=Admin;Data Source=MyFile;Mode=Share Deny Write;Extended" _ , _ " Properties=""HDR=YES;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Database Password="""";Jet OLEDB:Engine T" _ , _ "ype=37;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New " _ , _ "Database Password="""";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Comp" _ , _ "act=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False;Jet OLEDB:Support Complex Data=False" _ ), Array("Omzet$"), 3 ActiveWorkbook.PivotCaches.Create(SourceType:=xlExternal, SourceData:= _ ActiveWorkbook.Connections(dq & MyConnection & dq), Version:=xlPivotTableVersion12). _ CreatePivotTable TableDestination:=MySheet & "!R3C1", TableName:="Draaitabel1", _ DefaultVersion:=xlPivotTableVersion12 Sheets(MySheet).Select Cells(3, 1).Select ActiveWorkbook.ShowPivotTableFieldList = True With ActiveSheet.PivotTables(1).PivotFields("Af") .Orientation = xlRowField .Position = 1 End With ActiveSheet.PivotTables(1).AddDataField ActiveSheet.PivotTables( _ 1).PivotFields("OTC"), "Som van OTC", xlSum ActiveSheet.PivotTables(1).AddDataField ActiveSheet.PivotTables( _ 1).PivotFields("Baxter"), "Som van Baxter", xlSum ActiveSheet.PivotTables(1).AddDataField ActiveSheet.PivotTables( _ 1).PivotFields("Regulier"), "Som van Regulier", xlSum ActiveSheet.PivotTables(1).AddDataField ActiveSheet.PivotTables( _ 1).PivotFields("Niet-WMG"), "Som van Niet-WMG", xlSum ActiveSheet.PivotTables(1).AddDataField ActiveSheet.PivotTables( _ 1).PivotFields("Totaal"), "Som van Totaal", xlSum With ActiveSheet.PivotTables(1).PivotFields("Jaar") .Orientation = xlRowField .Position = 2 End With With ActiveSheet.PivotTables(1).PivotFields("Af") .PivotItems("MS").Visible = False .PivotItems("SA").Visible = False End With With ActiveSheet.PivotTables(1).PivotFields("Maand") .Orientation = xlRowField .Position = 3 End With End Sub |
Ik krijg echter deze draaitabel niet goed gedraaid. Het probleem zit erin dat
code:
1
2
3
4
| ActiveWorkbook.PivotCaches.Create(SourceType:=xlExternal, SourceData:= _
ActiveWorkbook.Connections("2013021"), Version:=xlPivotTableVersion12). _
CreatePivotTable TableDestination:="Draaitabel!R3C1", TableName:="Draaitabel1", _
DefaultVersion:=xlPivotTableVersion12 |
ActiveWorkbook.Connections("2013021") iets anders moet zijn nl. ActiveWorkbook.Connections("MyConnection") (dus de string MyConnection tussen aanhalingstekens). Dit krijg ik echter niet voor elkaar. Daarna moet ik nr. twee nog importeren en dan de vergelijking maken, maar dit lukt me wel (twee is nl. hetzelfde als 1, maar dan met andere waarden en met draaiformules krijg ik ook wel het verschil tussen die twee)
Ik zal vast iets heel doms over het hoofd zien, maar "" & MyConnection & "" werkt iig niet.
De MyPath, MyFileName en MyConnection geven goede waarden.
[ Voor 8% gewijzigd door Paultje3181 op 14-08-2013 11:25 ]