Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1140to1144
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

Makro läuft nicht

Makro läuft nicht
PMa
Hallo zusammen !
Etwas weiter unten hatte ich diesbezüglich schon mal ne Frage gestellt, allerdings keine Lösung erhalten.
Nun hab ich meinen Makrocode wie folgt umgebaut.
Sinn und Zweck dieses Codes soll sein, eine Tabelle zu öffnen und mittels den dort enthaltenen Daten eine PivotTable zu erstellen:
Option Explicit
Sub Schaltfläche2_BeiKlick()
On Error Resume Next
Dim Datei_Open As String
Datei_Open = Application.GetOpenFilename(Filefilter:="CSV Datei(*.csv),*.csv", Title:=" _
Bitte Datendatei wählen")
Select Case Datei_Open
Case False
MsgBox "Abbruch"
Exit Sub
End Select
Workbooks.Open Datei_Open
PivotTable_create
End Sub


Sub PivotTable_create()
Dim tabellenblatt
Dim selektion
tabellenblatt = ActiveSheet.Name
selektion = tabellenblatt & "!" & "A1:AN65536"
Worksheets(tabellenblatt).Activate
Cells.Select
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
selektion).CreatePivotTable TableDestination:="", TableName:= _
"PivotTable5", DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
With ActiveSheet.PivotTables("PivotTable5").PivotFields("PER_Service_Bereich")
.Orientation = xlRowField
.Position = 1
End With
ActiveSheet.PivotTables("PivotTable5").AddDataField ActiveSheet.PivotTables( _
"PivotTable5").PivotFields("PER_Service_Bereich"), _
"Anzahl von PER_Service_Bereich", xlCount
Range("A3").Select
End Sub
Mein Problem allerdings:
Die Tabelle wird richtig geöffnet, doch dann wird Makro (ohne Fehlermeldung) hier bei dieser Zeile irgendwo beendet. (es wird an der Tabelle also nichts gemacht)
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
selektion).CreatePivotTable TableDestination:="", TableName:= _
"PivotTable5", DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
Wo liegt der Hund begraben ? - Ich bin echt am verzweifeln und finde den Fehler nicht.
Hoffentlich könnt ihr Profis mir da helfen !

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Makro läuft nicht
25.02.2010 12:49:20
xr8k2
Hallo PMa,
ich schätze das du keine Fehlermeldung bekommst siegt an dem "On Error Resume Next".
Wenn deine CSV-Datei auch den erforderlichen Bereich "PER_Service_Bereich" beinhaltet konnte es m.M bnach am Namen deiner Pivotabelle liegen.
Ersetze mal alle .PivotTables("PivotTable5") durch .PivotTables(1)
Gruß,
xr8k2
AW: Makro läuft nicht
25.02.2010 13:46:19
PMa
danke für den Tip
Aber ... es geht leider auch nicht (oder hab ich nun beim Suchen / Ersetzen einen Fehler gemacht ?
Mein Code lautet nun wie folgt:
Option Explicit
Sub Schaltfläche2_BeiKlick()
On Error Resume Next
Dim Datei_Open As String
Datei_Open = Application.GetOpenFilename(Filefilter:="CSV Datei(*.csv),*.csv", Title:=" _
Bitte Datendatei wählen")
Select Case Datei_Open
Case False
MsgBox "Abbruch"
Exit Sub
End Select
Workbooks.Open Datei_Open
PivotTable_create
End Sub


Sub PivotTable_create()
Dim tabellenblatt
Dim selektion
tabellenblatt = ActiveSheet.Name
selektion = tabellenblatt & "!" & "A1:AN65536"
Worksheets(tabellenblatt).Activate
Cells.Select
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
selektion).CreatePivotTable TableDestination:="", TableName:= _
PivotTables(1), DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
With ActiveSheet.PivotTables(1).PivotFields("PER_Service_Bereich")
.Orientation = xlRowField
.Position = 1
End With
ActiveSheet.PivotTables(1).AddDataField ActiveSheet.PivotTables( _
PivotTables(1)).PivotFields("PER_Service_Bereich"), _
"Anzahl von PER_Service_Bereich", xlCount
Range("A3").Select
Makro5
End Sub
Sub Makro5()
On Error Resume Next
Range("A3").Select
With ActiveSheet.PivotTables(1).PivotFields("PER_Service_Bereich")
.Orientation = xlRowField
.Position = 1
End With
End Sub

Wenn ich ihn nun laufen lassen will, kommt die Fehlermeldung:

Sub PivotTables(1) nicht definiert
:-(
Ich kappiers echt nicht mehr :-(

Anzeige
AW: Makro läuft nicht
25.02.2010 13:32:18
fcs
Hallo PMa,
nach meiner Erfahrung werden "Deutsche" CSV-Dateien unter VBA oft nicht korrekt eingelesen/geöffnet. Ich bin dazu übergegangen diese als Textdateien zu öffnen mit entsprechenden Einstellungen für die Feldtrennzeichen und andere Einstellungen.
Das Erstellen der Pivottabelle hat bei mir unter Excel 2003 dann mit deinem Code funktioniert.
Wichtig ist natürlich, dass der Feldname "PER_Service_Bereich" nach dem öffnen der CSV-Datei als Spaltentitel existiert.
Du legst im Code den Bereich "A1:AN65536" als Datenquelle fest. Dann müssen auch in allen Zellen A1 bis AN1 Spaltentitel vorhanden sein. Sonst stürzt das Makro beim Erzeugen der Pivottabelle ab.
Gruß
Franz
Sub Schaltfläche2_BeiKlick()
On Error Resume Next
Dim Datei_Open As String
Datei_Open = Application.GetOpenFilename(Filefilter:="CSV Datei(*.csv),*.csv", _
Title:="Bitte Datendatei wählen")
Select Case Datei_Open
Case False
MsgBox "Abbruch"
Exit Sub
End Select
'CSV-Datei öffnen
Workbooks.OpenText Filename:=Datei_Open, Startrow:=1, DataType:=xlDelimited, _
Tab:=False, semicolon:=True, Comma:=False, Space:=False, other:=False, Local:=True
PivotTable_create
End Sub

Anzeige
AW: Makro läuft nicht
25.02.2010 13:52:03
PMa
H U R R A A A A !!!!!
Mit Deinem Code läufts !
HERZLICHEN DANK !!!
wusste ich Doch, dass Ihr absoluten Profis hier mir helfen könnt !!!!
DANKE !!!!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige