[英]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
)
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.