VBA公式,根据当前标签名

时间:2015-10-28 14:18:29

标签: excel vba excel-vba

我有一个文件,其中包含名为V1,V2,V3,...,V15的图纸。 纸张数量可以根据它们是否存在而变化。

我还有一张'主'表,其中包含乘数值。

我所做的是复制每张纸给V1(2),V2(2),...,V *(2)

下一步是(全部包含在范围D2:P30中): - 在V1(2)中,将V1中的每个值乘以乘数中的等值 - 在V2(2)中,将V2中的每个值乘以乘数中的等值 - 在V *(2)中,将V *中的每个值乘以乘数中的等值

请记住,可能有2张或最多15张V

2 个答案:

答案 0 :(得分:0)

起初:

选项卡在vba中称为工作表,

您可以选择或将其设置为有效:

表(" SHEETNAME&#34)。选择 或表格(" Sheetname")。激活

你可以指出你的问题吗?

答案 1 :(得分:0)

您可以尝试使用此宏,但只运行一次或每次运行时都会运行。

Sub CopySheetAndSetFormula()
    Dim sh As Worksheet
    Dim oldSheet As Worksheet, newSheet As Worksheet, refSheet As Worksheet
    Set refSheet = Worksheets("master")
    For Each sh In Worksheets
        If Not sh Is refSheet And Not sh.Name Like "*(*)" Then ' we do not copy the ref sheet, nor the ones with (*) inside
            sh.Copy After:=sh  ' the new sheet become the actve one
            ActiveSheet.Range("D2:P30").Formula = "='" & sh.Name & "'!D2 * 'master'!D2"
        End If
    Next sh
End Sub