2017-08-07 79 views
0

my first button (Schaltfläche 83) 我的第一個按鈕(Schaltfläche83)的Excel /如何按鈕連接在不同的工作表

enter image description here 其他按鈕,我想激活VOM「平田Bestellformular」 第一種選擇:頂藍色的 第二個選項:大一號(activexelement)

我想從另一個工作表中激活一個按鈕,因爲我想直接從「Hirata Bestellformular」在工作表「Teileliste」上執行下面的代碼。我怎樣才能做到這一點?

Sub Teileliste_generieren() 

「高級篩選

Sheets("Hirata Bestellformular").Range("Tabelle3[[#Headers],[#Data]]"). _ 
    AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range("B50:B51"), _ 
    CopyToRange:=Range("B54:B55"), Unique:=False 

    Range("B5").Select 
ActiveCell.FormulaR1C1 = _ 
    "=IFERROR(LEFT(R[50]C,FIND(CHAR(10),R[50]C)-1),R[50]C)" 
Range("B6").Select 
ActiveCell.FormulaR1C1 = _ 
    "=IFERROR(LEFT(R[50]C,FIND(CHAR(10),R[50]C)-1),R[50]C)" 
Range("B5:B6").Select 
Selection.AutoFill Destination:=Range("B5:B26"), Type:=xlFillDefault 
Range("B5:B26").Select 
Range("D22").Select 

'formatierung tabelle

Range("B3").Select 
With Selection.Interior 
    .Pattern = xlSolid 
    .PatternColorIndex = xlAutomatic 
    .Color = 16763955 
    .TintAndShade = 0 
    .PatternTintAndShade = 0 
End With 
Range("B4").Select 
With Selection.Interior 
    .Pattern = xlSolid 
    .PatternThemeColor = xlThemeColorAccent3 
    .Color = 16777215 
    .TintAndShade = 0 
    .PatternTintAndShade = 0.799981688894314 
End With 
Range("B5").Select 
With Selection.Interior 
    .Pattern = xlSolid 
    .PatternColorIndex = xlAutomatic 
    .Color = 9868950 
    .TintAndShade = 0 
    .PatternTintAndShade = 0 
End With 
Range("B6").Select 
With Selection.Interior 
    .Pattern = xlSolid 
    .PatternColorIndex = xlAutomatic 
    .Color = 15395562 
    .TintAndShade = 0 
    .PatternTintAndShade = 0 
End With 
Range("B5:B6").Select 
Selection.AutoFill Destination:=Range("B5:B26"), Type:=xlFillDefault 
Range("B5:B26").Select 
Range("D20").Select 

' 德恩0空白

Range("B5:B26").Select 
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _ 
    Formula1:="=0" 
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority 
With Selection.FormatConditions(1).Font 
    .ThemeColor = xlThemeColorDark1 
    .TintAndShade = 0 
End With 
With Selection.FormatConditions(1).Interior 
    .PatternColorIndex = xlAutomatic 
    .ThemeColor = xlThemeColorDark1 
    .TintAndShade = 0 
End With 
Selection.FormatConditions(1).StopIfTrue = False 
Range("C22").Select 

' Exportieren 

    ThisWorkbook.Sheets("Teileliste").Copy 

Application.GetSaveAsFilename 

End Sub 
+0

有很多的代碼在這裏,雖然它可能不是所有有關你的問題?請減少代碼以僅包含相關部分。所以請指定您想使用的按鈕以及該按鈕包含的代碼。如果它激活一個子,那麼不需要用按鈕點擊按鈕,而只需調用代碼。 – Luuklag

回答

0

我可以試試。 :)

如果我瞭解你,你想能夠從Hirata Bestellformular按​​。這意味着您仍然希望按鈕Schaltfläche 83與​​的功能相同,但您不想切換工作表以按下按鈕?

然後我相信你的問題在你的Range.Select聲明中。

在Excels VBA對象模型中,如果您從Teileliste表單調用Range("B50:B51").Select,那麼它將自動選擇Teileliste表單中的範圍。如果從Hirata Bestellformular開始,那麼它會從Hirata Bestellformular中選擇Range("B50:B51")

這意味着:應該如果你改變你所有的Range("...").SelectWorksheets("Teileliste").Range("...").Select

這同Excel VBA Object Model.

做我敢肯定,應該做的伎倆,但工作這取決於放置代碼的位置(在特定工作表或模塊中)。嘗試更換Range.Selects並查看是否有幫助。:)

+0

謝謝!每個想法都歡迎:)現在我會嘗試。 –

+0

我在其他評論中回答了您的評論:) –

0

只是一個快速提示:

您可以右鍵單擊按鈕Schaltfläche83併爲其分配宏。所以你的情況你可以右擊 - >分配宏觀 - >選擇

Teileliste_generieren() 

如果你的代碼可以處理被稱爲在不同的表,然後將它的工作。

// from我的iPhone

+0

嗯,這正是問題:/我的宏將不從不同的片工作。你還有其他問題嗎?我如何管理我的問題? –

+0

我的評論太長,所以我將它張貼在雁來。 :) –

+0

可能要文檔,以便你有一個更好的瞭解?如果你給我我們的郵件我可以將它發送給你:)當然只是如果沒有太大的你麻煩的,你不介意吧。 –

0
Sub Teileliste_generieren2() 

'先進過濾

Sheets("Hirata Bestellformular").Range("Tabelle3[[#Headers],[#Data]]"). _ 
    AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Worksheets("Teileliste").Range("B50:B51"), _ 
    CopyToRange:=Worksheets("Teileliste").Range("B54:B55"), Unique:=False 

    Worksheets("Teileliste").Range("B5").Select 
ActiveCell.FormulaR1C1 = _ 
    "=IFERROR(LEFT(R[50]C,FIND(CHAR(10),R[50]C)-1),R[50]C)" 
Worksheets("Teileliste").Range("B6").Select 
ActiveCell.FormulaR1C1 = _ 
    "=IFERROR(LEFT(R[50]C,FIND(CHAR(10),R[50]C)-1),R[50]C)" 
Worksheets("Teileliste").Range("B5:B6").Select 
Selection.AutoFill Destination:=Worksheets("Teileliste").Range("B5:B26"), Type:=xlFillDefault 
Worksheets("Teileliste").Range("B5:B26").Select 
Worksheets("Teileliste").Range("D22").Select 

' 格式表

Worksheets("Teileliste").Range("B5").Select 
With Selection.Interior 
    .Pattern = xlSolid 
    .PatternColorIndex = xlAutomatic 
    .ThemeColor = xlThemeColorDark2 
    .TintAndShade = -0.249977111117893 
    .PatternTintAndShade = 0 
End With 
Worksheets("Teileliste").Range("B6").Select 
With Selection.Interior 
    .Pattern = xlSolid 
    .PatternColorIndex = xlAutomatic 
    .ThemeColor = xlThemeColorAccent4 
    .TintAndShade = 0.799981688894314 
    .PatternTintAndShade = 0 
End With 
Worksheets("Teileliste").Range("B5:B6").Select 
Selection.AutoFill Destination:=Worksheets("Teileliste").Range("B5:B26"), Type:=xlFillDefault 
Worksheets("Teileliste").Range("B5:B26").Select 
Worksheets("Teileliste").Range("C18").Select 

「如果爲0空白

Worksheets("Teileliste").Range("B5:B26").Select 
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _ 
    Formula1:="=0" 
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority 
With Selection.FormatConditions(1).Font 
    .ThemeColor = xlThemeColorDark1 
    .TintAndShade = 0 
End With 
With Selection.FormatConditions(1).Interior 
    .PatternColorIndex = xlAutomatic 
    .ThemeColor = xlThemeColorDark1 
    .TintAndShade = 0 
End With 
Selection.FormatConditions(1).StopIfTrue = False 
Worksheets("Teileliste").Range("C22").Select 

' Exportieren 

    ThisWorkbook.Sheets("Teileliste").Copy 

Application.GetSaveAsFilename 

結束子

像你說我只是到處取代它和它的作品,如果我aktivate從「零件清單」宏但有errorwhen我acctivate從「Hiraa序」說:Range對象的Error1004他選擇 - 方法不能在執行:/另一個建議:)