首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Excel/如何连接不同工作表上的按钮

Excel/如何连接不同工作表上的按钮
EN

Stack Overflow用户
提问于 2017-08-07 09:47:09
回答 3查看 70关注 0票数 0

我的第一个按钮(Schaltfl Che 83)

其他按钮,我想激活vom "Hirata Bestellformular“第一个选项:顶部蓝色的第二个选项:大选项(激活元素)

我想从另一个工作表激活一个按钮,因为我想直接从"Hirata Bestellformular“执行工作表"Teileliste”上的代码。我怎样才能做到这一点?

代码语言:javascript
复制
Sub Teileliste_generieren()

高级过滤器

代码语言:javascript
复制
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

“甲壳虫”

代码语言:javascript
复制
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

‘Wenn 0空白

代码语言:javascript
复制
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
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-08-07 19:27:18

我可以试试。:)

如果我理解您的话,您希望能够按下来自Hirata BestellformularHirata Bestellformular。这意味着您仍然希望Schaltfläche 83按钮对与Teileliste generieren相同的事情执行,但不希望切换工作表以按下按钮?

,我相信您的问题在Range.Select语句中。

在优于VBA对象模型中,如果您从Teileliste-sheet调用-sheet,那么它将在Teileliste-sheet中自动选择该范围。如果从Hirata Bestellformular执行此操作,则将从Hirata Bestellformular中选择Range("B50:B51")

--这意味着:如果您将所有Range("...").Select更改为Worksheets("Teileliste").Range("...").Select,则应该会工作。

这与Excel VBA对象模型有关

我非常肯定这会起到作用,但这取决于您的代码被放置在哪里(在特定的工作表中或模块中)。尝试替换Range.Selects,看看它是否有用。:)

票数 0
EN

Stack Overflow用户

发布于 2017-08-07 10:57:08

只是一个简单的提示:

您可以右键单击Schaltfl che 83按钮,并为其分配一个宏。因此,在您的情况下,只需右键单击->,分配宏->,选择

代码语言:javascript
复制
Teileliste_generieren()

如果您的代码可以处理不同工作表上的调用,那么它将工作。

//来自我的iPhone

票数 0
EN

Stack Overflow用户

发布于 2017-08-08 05:29:55

代码语言:javascript
复制
Sub Teileliste_generieren2()

高级过滤器

代码语言:javascript
复制
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

“甲壳虫”

代码语言:javascript
复制
    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

‘Wenn 0空白

代码语言:javascript
复制
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

结束子对象

就像你说的,我在任何地方都替换了它,如果我从"Teileliste“中替换了makro,它就会起作用,但是当我从”“(”“)中看到它时会出现错误: Error1004,他选择了范围-对象的方法,不能执行:/另一个建议?)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45543972

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档