Excel 宏在修改时不会更新

用户3709260

请参阅attahced文件:excel文件我在Sheet1中有一个表格。在每一行的末尾,我想有一个分配给它的宏的按钮,如果该行的第一个单元格等于“Sheet2”,则它将该行中的数据填充到 Sheet2 中的某些单元格中。如果第一行显示“Sheet3”,则它将该行中的数据填充到 Sheet3 中的某些单元格中。所以我所做的是首先录制一个如下所示的宏:

Sub fill()
'
' fill Macro
'
    Sheets("Sheet2").Select
    Range("B2").Select
    ActiveCell.FormulaR1C1 = "=Sheet1!R[-1]C"
    Range("C2").Select
    ActiveCell.FormulaR1C1 = "=Sheet1!R[-1]C"
    Range("D2").Select
    ActiveCell.FormulaR1C1 = "=Sheet1!R[-1]C"
    Range("D3").Select
    Sheets("Sheet1").Select

End Sub

然后我尝试将其设为有条件:

Sub fill()
'
' fill Macro
'
If Sheet1.Range("A1").Value = "Sheet2" Then
    Sheets("Sheet2").Select
    Range("B2").Select
    ActiveCell.FormulaR1C1 = "=Sheet1!R[-1]C"
    Range("C2").Select
    ActiveCell.FormulaR1C1 = "=Sheet1!R[-1]C"
    Range("D2").Select
    ActiveCell.FormulaR1C1 = "=Sheet1!R[-1]C"
    Range("D3").Select
    Sheets("Sheet1").Select
    End If
End Sub

但问题是没有执行 if 子句!无论A1有什么值,它都会像没有条件一样不断填写Sheet2!我也保存并运行。请告诉我我错在哪里。谢谢。

戴维思

使用ActiveSheet.Buttons(Application.Caller).TopLeftCell将告诉您刚刚单击的按钮的范围。从那里您可以获取 A 列中的工作表名称并将信息发送到那里。

编码

Sub Rng_Butn_Clicked()
    Dim BtRng As Range, sh As Worksheet, rw As Long

    Set BtRng = ActiveSheet.Buttons(Application.Caller).TopLeftCell

    MsgBox BtRng.Address    'remove later
    MsgBox Cells(BtRng.Row, 1).Value    'remove later

    Set sh = Sheets(Cells(BtRng.Row, 1).Value)

    With sh
        rw = .Cells(.Rows.Count, "B").End(xlUp).Row + 1
        .Cells(rw, 2).Value = Cells(BtRng.Row, 2).Value
        .Cells(rw, 3).Value = Cells(BtRng.Row, 3).Value
        .Cells(rw, 4).Value = Cells(BtRng.Row, 4).Value
    End With

End Sub

将窗体工具箱中的按钮添加到第一个单元格中,并将宏分配给该按钮。您可以对第一个单元格执行此操作,然后向下拖动单元格以复制按钮。

在此处输入图片说明 在此处输入图片说明

单击按钮,代码会将数据发送到正确的工作表。代码有两个msgboxes,你可以删除它们,只是为了告诉你发生了什么

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Excel宏更新宏

来自分类Dev

从Excel宏更新我的Wiki

来自分类Dev

VBA宏不会转到文件excel的末尾

来自分类Dev

形状更改时更新Excel工作表

来自分类Dev

如何在每次更改时自动运行Microsoft Excel宏?

来自分类Dev

Excel宏用于更新日志

来自分类Dev

Excel更新图宏的数据范围

来自分类Dev

Excel单元格值更新宏

来自分类Dev

Excel 表单控件宏更新另一个工作表,Worksheet_Change 事件不会触发

来自分类Dev

修改我的Excel宏以复制/导出其他列

来自分类Dev

Excel 自动保存并更新“修改日期”

来自分类Dev

Excel 宏 - 比较 Excel 文件

来自分类Dev

验证文件上次修改时间的宏

来自分类Dev

验证文件上次修改时间的宏

来自分类Dev

Word中的宏在Excel中不起作用,可以将其修改为Excel吗?

来自分类Dev

Excel公式不会自动更新

来自分类Dev

Excel中工作表中的数据更改时如何运行宏

来自分类Dev

VBA 和 Excel 我需要在单元格更改时运行宏

来自分类Dev

在单元格值更改时自动触发宏 |Excel|VBA|

来自分类Dev

证书更新后需要重新签名Excel宏吗

来自分类Dev

Excel宏一一更新单元格非常慢

来自分类Dev

Excel宏移动列

来自分类Dev

从python运行Excel宏

来自分类Dev

在Excel中的VLookup宏

来自分类Dev

Excel索引/目录-宏

来自分类Dev

Excel条件格式宏

来自分类Dev

Excel VBA排序宏

来自分类Dev

Excel VBA宏-串联

来自分类Dev

在Excel宏中等待