Clever-Excel-Forum

Normale Version: VBA Hilfe
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo Liebe Forum User,
ich habe ein Kleines Problem mit einen VBA Script, vll kann mir jemand Weiterhelfen.

Merkwürding: Das VBA Script funktoniert auf ein anderen Tabellen Blatt, aber nicht auf ein neu Kopiertes.

VBA Code
Code:
Sub Test2()
Dim d As String
Application.ScreenUpdating = False
'
' Macro1 Macro
'
d = Sheets("Test2").Range("M5").Value

If Sheets(d).Visible = False Then
Sheets(d).Visible = True

'
    Sheets(d).Select
    ActiveSheet.Columns("A:E").Select
   
    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        "'" & d & "'!R1C1:R1048576C5", Version:=xlPivotTableVersion14).CreatePivotTable _
        TableDestination:="Test2!R10C1", TableName:="PivotTable4", DefaultVersion _
        :=xlPivotTableVersion14
    Sheets("Test2").Select
    Cells(10, 1).Select
    With ActiveSheet.PivotTables("PivotTable4").PivotFields("Grund")
        .Orientation = xlRowField
        .Position = 1
    End With
    With ActiveSheet.PivotTables("PivotTable4").PivotFields("Reason")
        .Orientation = xlColumnField                                               <- Hier bleibt er immer stehen.
        .Position = 1
    End With
    ActiveSheet.PivotTables("PivotTable4").AddDataField ActiveSheet.PivotTables( _
        "PivotTable4").PivotFields("Reason"), "Count of Reason", xlCount
        ActiveSheet.PivotTables("PivotTable4").PivotSelect "Grund[All]", _
        xlLabelOnly + xlFirstRow, True
    ActiveWorkbook.ShowPivotTableFieldList = True
    With ActiveSheet.PivotTables("PivotTable4").PivotFields("Reason")
        .Orientation = xlColumnField
        .Position = 1
    End With
     With ActiveSheet.PivotTables("PivotTable4").PivotFields("Grund")
        .PivotItems("(blank)").Visible = False
    End With
    ActiveWorkbook.ShowPivotTableFieldList = False
    Sheets(d).Visible = False
   
    Else: Sheets(d).Visible = False
    End If

   
    Columns("A:A").EntireColumn.AutoFit
   
End Sub

Viele Grüße
Hallo,

sollen wir jetzt zum Testen deine Datei nachbauen?
Sorry Confused
Hallo,

die Makros gehören in ein Standardmodul, nicht in das Modul eines Tabellenblattes.
Auch wenn ich mehrere Tabs habe ? Also wenn ich es in ein Modul rein packe, dann macht er den gleichen Fehler!
Hallo,

auch dann. In die Module der Tabellenblätter gehören nur Ereignisprozeduren, die zum Beispiel auf Eingaben in dieses Blatt reagieren sollen.
Wie schon gesagt, funktoniert es dann auch nicht. Er bleibt an der Gleichen Stelle stehen. Sad
Hallo,

bei mir kommt der Fehler "Index außerhalb des gültigen Bereichs". Was steht denn auf dem Blatt "Test2" in der Zelle M5? Beides gibt es in der Beispieldatei nicht.
Dort steht der blatt name drin, wie in der Beispiel Datei bzw. steht bei mir folgendes

d = Sheets("BDML").Range("M5").Value

Dies ist dann schlussendlich eine Verkettung die auf das jeweilige ROW Blatt zeigt, wo die Rohdaten liegen
Hallo,

wo ist denn jetzt das Makro Test2 geblieben, bzw. welches Makro löst wo welchen Fehler aus?
Seiten: 1 2