Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA Hilfe
#1
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
Antwortento top
#2
Hallo,

sollen wir jetzt zum Testen deine Datei nachbauen?
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antwortento top
#3
Sorry Confused


Angehängte Dateien
.xlsm   auto_mail.xlsm (Größe: 751,45 KB / Downloads: 6)
Antwortento top
#4
Hallo,

die Makros gehören in ein Standardmodul, nicht in das Modul eines Tabellenblattes.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antwortento top
#5
Auch wenn ich mehrere Tabs habe ? Also wenn ich es in ein Modul rein packe, dann macht er den gleichen Fehler!
Antwortento top
#6
Hallo,

auch dann. In die Module der Tabellenblätter gehören nur Ereignisprozeduren, die zum Beispiel auf Eingaben in dieses Blatt reagieren sollen.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antwortento top
#7
Wie schon gesagt, funktoniert es dann auch nicht. Er bleibt an der Gleichen Stelle stehen. Sad
Antwortento top
#8
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.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antwortento top
#9
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
Antwortento top
#10
Hallo,

wo ist denn jetzt das Makro Test2 geblieben, bzw. welches Makro löst wo welchen Fehler aus?
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste