簡體   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