gpt4 book ai didi

excel - 将整个范围乘以值?

转载 作者:行者123 更新时间:2023-12-02 07:28:26 25 4
gpt4 key购买 nike

因此,我能想到的在大范围(大约 450k 行)上完成此操作的最佳方法是使用以下 Sue-do 代码:

Range("A1").Copy ' A1 Contains Value I want to multiply column by
Range("MyTable[FooColumn]").PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply

现在这可行了,但我必须复制并粘贴该值的事实似乎是多余的,因为该值永远不会改变。

For Each c In Range("MyTable[MyColumnHeader]")
If IsNumeric(c) And Not c = "" Then
c.Value = c.Value * 453.592 ' The value that is in A1 from previos sample
End If
Next

这可行,但速度较慢。因为它必须循环每个单元格。

我也尝试过:

With Range("MyTable[MyColumnHeader]")
.Value = .Value * 453.592
End With

但是如果列中存在多个值,则会收到运行时错误“类型不匹配错误”。

我想过插入一列并使用"=R-1C * 453.592"的公式R1C1然后.Value = .Value,然后移动列并覆盖但是看起来很笨重,我想也比粘贴倍增慢。

那么,有没有人有更好的方法来完成这项任务?

最佳答案

Sub Test()

Dim rngData As Range

Set rngData = ThisWorkbook.Worksheets("Sheet1").Range("A1:B10")
rngData = Evaluate(rngData.Address & "*2")
End Sub

有点过时,但这就是您想要的吗?

关于excel - 将整个范围乘以值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18990541/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com