„table“ Namen via VBA herauslesen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: „table“ Namen via VBA herauslesen
von: Dariusz
Geschrieben am: 09.05.2015 19:32:34

Hallo zusammen,
Der „table“ Name (ähnlich wie Zellennamen vergeben), nicht der „worksheet“ Name, änder sch jedes mal wenn ich das untenstehende Makro starte.
Um das abzufangen würde ich gerne - an der richtigen Stelle im Code - den erzeugten "table“ Namen, herauslesen und durch einen neuen Namen ersetzen um es später für eine PIVOT weiter zu verwenden ?
Ich bin für jede Hilfe sehr dankbar !!
LG, Dariusz

Sub AMP_jahr()
    Sheets("SAPBW_DOWNLOAD").Select
    Columns("D:D").Select
    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("D2").Select
    Selection.FormulaR1C1 = "=CONCATENATE(RC[-3],"";"",RC[-2],"";"",RC[-1])"
    Columns("D:D").ColumnWidth = 42
    Selection.AutoFill Destination:=Range("D2:D22"), Type:=xlFillDefault
    Range("D2:D22").Select
    ActiveWorkbook.PivotCaches.Create(SourceType:=xlConsolidation, SourceData:= _
        Array("SAPBW_DOWNLOAD!R1C4:R22C12"), Version:=xlPivotTableVersion12). _
        CreatePivotTable TableDestination:= _
        "[Suzuki_AMP_Salzer.xlsb]SAPBW_DOWNLOAD!R34C4", TableName:="PivotTable9", _
        DefaultVersion:=xlPivotTableVersion12
    ActiveSheet.PivotTables("PivotTable9").DataPivotField.PivotItems( _
        "Anzahl von Wert").Position = 1
    With ActiveSheet.PivotTables("PivotTable9").PivotFields("Anzahl von Wert")
        .Caption = "Summe von Wert"
        .Function = xlSum
    End With
    Range("M57").Select
‚ hier wird durch Doppelklick auf M57 ein neues Worksheet erzeugt (mit den Daten aus Pivot)

    Selection.ShowDetail = True
‚ ich schätze hier müsste ich den aktuellen „table“ Namen lesen und einen neuen  _
vergeben ?!?

‚ hier (unterhalb) werden zusätzliche Spalten eingefügt um die Verkettung aus Spalte A  _
wieder zu zerlegen ...

    Columns("A:A").ColumnWidth = 45
    Columns("B:D").Select
    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
       
    Application.DisplayAlerts = False
 
    Columns("A:A").Select
    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
        Semicolon:=True, Comma:=False, Space:=False, Other:=False, OtherChar _
        :="-", FieldInfo:=Array(Array(1, 2), Array(2, 2), Array(3, 2)), _
        TrailingMinusNumbers:=True
       
    Application.DisplayAlerts = True
       
    Columns("D:D").Select
    Selection.Delete Shift:=xlToLeft
    Columns("A:A").ColumnWidth = 15
    Columns("B:B").ColumnWidth = 24
    Columns("C:C").ColumnWidth = 22
    Columns("D:D").ColumnWidth = 13
    Columns("E:E").ColumnWidth = 17
    Columns("D:D").Select
    Selection.NumberFormat = "@"
    Columns("E:E").Select
    Selection.NumberFormat = "#,##0"
    Range("A1").Select
    ActiveCell.FormulaR1C1 = "su_VEHICLE"
    Range("B1").Select
    ActiveCell.FormulaR1C1 = "su_ENGINE"
    Range("C1").Select
    ActiveCell.FormulaR1C1 = "Material Offset (10)"
    Range("D1").Select
    ActiveCell.FormulaR1C1 = "su_YEAR"
    Range("E1").Select
    Selection.FormulaR1C1 = "su_JVolumen"
    ActiveSheet.Name = "AMP-Jahr"
   
    Sheets("SAPBW_DOWNLOAD").Select
    Rows("33:67").Select
    Selection.Delete Shift:=xlUp
    Columns("D:D").Select
    Range("D16").Activate
    Selection.Delete Shift:=xlToLeft
    Columns("D:K").ColumnWidth = 8
    Range("A1").Select
    Sheets("AMP-Jahr").Select
    Call AMP_monat
End Sub

Bild

Betrifft: AW: „table“ Namen via VBA herauslesen
von: fcs
Geschrieben am: 11.05.2015 07:27:35
Hallo Dariusz,
meinst du hier den CodeName des Tabellenblatts?
Diesen kann man nicht per VBA-Code ändern, das geht nur manuell im VBA-Projek-Explorer.
Du musst hier dann ggf. mit einer Objektvariablen arbeiten.
Gruß
Franz

Sub ChangeCodeName()
    Dim strCodename As String
    Dim wks As Worksheet
    
    Set wks = ActiveSheet
    
    strCodename = wks.CodeName
    MsgBox "Blattname: " & wks.Name & vbLf _
        & "Codename: " & strCodename
'    wks.CodeName = "Tab_Data" '---> Fehlermeldung
End Sub


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Wort finden"