gpt4 book ai didi

VBA:转换文本->数字乘以 1

转载 作者:行者123 更新时间:2023-12-04 22:06:33 25 4
gpt4 key购买 nike

我有一个链接到我用来创建一些报告的 SQL 数据库的表。问题是数字以文本形式出现,我每次都必须将它们转换为数字,
我编写了一个宏来创建报告,但我在转换数字时遇到了麻烦。我试图将整个表格乘以一(表格丢失了链接,但这不是问题,因为我只是将信息复制到另一个工作簿,然后他们关闭表格而不保存),当我手动完成时它起作用了,但是当我通过宏执行此操作时,它将不起作用。我可以看到它乘以 1,但数字仍然是文本。

由于我的表很大,因此尝试转换每个单元格不是一个选项,因为运行每个单元格并使用 CStr 函数需要永远。

我的代码:

Range("B2").Copy
Range("A4", Range("AC4").End(xlDown)).PasteSpecial Paste:=xlPasteValues, Operation:=xlMultiply, _
SkipBlanks:=False, Transpose:=False

有什么建议么?

最佳答案

xlDown可能是高度不可预测的。不要用那个。事实上,找到最后一行,然后创建您的范围,然后将其用于您的操作。

此外,仅更改格式不会将其转换为数字。您将不得不复制 F2-Enter行为。

试试这个( 尝试和测试 )

Sub Sample()
Dim ws As Worksheet
Dim Rng As Range, acell As Range
Dim lRow As Long

Set ws = ThisWorkbook.Sheets("Sheet1")

With ws
lRow = .Range("AC" & .Rows.Count).End(xlUp).Row

Set Rng = .Range("A4:AC" & lRow)

.Range("B2").Copy

Rng.PasteSpecial Paste:=xlPasteValues, _
Operation:=xlMultiply, SkipBlanks:=False, Transpose:=False

Rng.NumberFormat = "0" ' OR "0.00" as applicable

For Each acell In Rng
acell.Formula = acell.Value
Next
End With
End Sub

屏幕截图

enter image description here

关于VBA:转换文本->数字乘以 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20192371/

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