VBA:Conver文本 – >数字乘以1

我有一个链接到SQL数据库,我用来创build一些报告的表。 问题是,数字来作为文本,我不得不将它们转换为数字每次,我写了一个macros来创build报告,但我有麻烦转换数字。 我试图将整个表格乘以一(表失去链接,但这不是一个问题,因为我只是将信息复制到另一个工作簿,他们closures表w / o保存),它工作时,我做了manualy ,但是当我通过macros来做它不会工作。 我可以看到它乘以1,但数字仍然是文本。

由于我的表是巨大的,试图转换每个单元格不是一个选项,它将永远需要运行每个单元格并使用CStr函数。

我的代码:

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

有什么build议么?

xlDown可能是非常不可预测的。 不要使用它。 实际上find最后一行,然后创build你的范围,然后用于你的操作。

也只是改变格式不会将其转换为数字。 您将不得不复制F2-Enter行为。

试试这个( TRIED AND TESTED

 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 

屏幕截图

在这里输入图像说明