繁体   English   中英

vba excel宏按钮,仅更改特定单元格,用其他工作表中的不同数据替换

[英]vba excel macro button, change only a specific cell, replacing with different data in other sheet

我如何获得一个按钮,每次按下该按钮来更改一个单元格值,

可以说单元格B5是活动单元格,我希望每次我根据不同工作表A1:A10中的值单击按钮时都要更改此值,只需在列表中向下移动即可。

Sub Button2_Click()
Sheets("data").Range("A1:A10").Copy
Sheets("printing").Range("B5").PasteSpecial xlPasteValues
End Sub

我想创建一种循环,例如,我多次打印相同的文件,但是更改了名称(在单元格中),每次单击按钮时,我都会在名为data的工作表中列出名称。 (称为打印的不同纸张)单元B5进行更改。

我可以简单地通过复制和粘贴来完成此操作,但是我希望使用它的大约250个名称来寻求一个更简单的解决方案。

它认为这与您正在寻找的东西有关。

下面的子例程将工作表2上的单元格B5的值设置为与索引对应的单元格的值,在向下的列中进行迭代,然后在行中进行迭代(在以下示例中为A1, A2, ... A20, B1, B2, B20

您可以在此处了解更多有关static语句的信息

 Sub iterateStatic(Optional Reset As Boolean = False)
    Static index    As Integer
    Dim fromRng     As Range, _
        targetRng   As Range
    If Reset Then index = 0
    Let index = index + 1
    Set fromRng = Sheets(1).Range("A1:B20")
    Set targetRng = Sheets(2).Range("B5")
    Let targetRng.Value = fromRng.Cells.Item( _
            RowIndex:=index Mod fromRng.Rows.Count, _
            ColumnIndex:=-Int(-index / fromRng.Rows.Count)).Value

'    ''  Debug to show how the function iterates over the range
'
'    Debug.Print fromRng.Cells.Item( _
'            RowIndex:=index Mod fromRng.Rows.Count, _
'            ColumnIndex:=-Int(-index / fromRng.Rows.Count)).Address

End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM