Excel VBA如何将范围乘以一个数字

时间:2015-07-02 02:53:16

标签: vba excel-vba multiplying excel

我对VBA很新,我正在寻求帮助来解决以下问题。我需要将一个范围乘以一个数字。该范围内的所有单元格都需要乘以该数字。

谢谢!

2 个答案:

答案 0 :(得分:1)

keong已经向您展示了一种方法,但不幸的是,该方法需要一个方法在另一个单元格/范围内进行计算。如果这是你想要的,那么请使用keong的答案,但是如果你想在相同的范围内进行计算,那么继续阅读下面的内容。

这是另一种不使用公式或VBA的方法。

我们假设范围为A1:A10,您希望将整个范围乘以5

  1. 只需在任何空白单元格中输入5即可。 您可以稍后删除
  2. 复制该单元格
  3. 选择范围A1:A10
  4. 右键单击
  5. 点击Paste Special | Values - Multiply,如下所示,您已完成。
  6. <强>之前

    enter image description here

    <强>后

    enter image description here

    通过评论进行跟进

    如果您不想使用临时单元格来编写5,那么您可以直接在剪贴板中设置5并像这样使用它。

    Option Explicit
    
    Sub Sample()
        Dim ws As Worksheet
        Dim MyData As New DataObject
        Dim rng As Range
    
        Set ws = Sheet1
        Set rng = ws.Range("A1:A5")
    
        '~~> Put the number 5 in clipboard
        MyData.SetText 5
        MyData.PutInClipboard
    
        '~~> Get the data from clipboard
        MyData.GetFromClipboard
    
        rng.Formula = Application.Evaluate("=" & _
                                        rng.Address & _
                                        "*" & _
                                        Val(MyData.GetText))
    End Sub
    

    就像我提到的那样,你不需要VBA但是如果你仍然想要使用VBA,那么你可以使用它而不是将数据复制到剪贴板。

    rng.Formula = Application.Evaluate("=" & rng.Address & "*" & MYNUMBER)
    

    其中MYNUMBER是具有您希望将范围乘以的数字的变量。

答案 1 :(得分:0)

正如我刚才所说的那样 1.在细胞处输入公式(例如G1)
Formula
2.按Enter键并拖动公式
enter image description here