以下代码正在复制数据,但复制后复制的副本将被复制为文本。有没有办法将其复制为数字?
Worksheets(1).Range(destCol1 & LR & destCol2 & LR).cells(3).value = Split(srcRange(5).value)
我尝试录制一个宏,我突出显示数据,然后点击选项"将文字转换为数字"但它没有记录该部分的VBA。
编辑1:
With Worksheets(1).Range(destCol1 & LR & destCol2 & LR)
.cells(1).value = srcRange(2).text
.cells(2).value = srcRange(1).value
.cells(3).value = CDbl(Split(srcRange(5).value)(1))
.cells(4).value = srcRange(6).value
End With
答案 0 :(得分:0)
未测试:
Sub jdskfhs()
Worksheets(1).Range(destCol1 & LR & destCol2 & LR).Cells(3).Value = CDbl(Split(srcRange(5).Value))
End Sub
修改#1:强>
以下是您的需求:
Sub jdskfhs2()
Worksheets(1).Range(destCol1 & LR & destCol2 & LR).Cells(3).Value = CDbl(Split(srcRange(5).Value)(1))
End Sub
此新代码将Split()
生成的数组的 second 元素转换为数字。
答案 1 :(得分:0)
经过相当多的挖掘后,我在这些论坛上找到了另一个答案here
理想情况下,我希望将这一切都完成一行以降低处理能力,因为这些页面会变得非常大;不幸的是,这是我能得到的最佳解决方案。
修改强>
使用我修改过的下面的代码,但它确实有效
Private Function TextToNumber(rng As Range)
LR = ActiveSheet.Range("C" & Rows.Count).End(xlUp).row
For R = LR To 3 Step -1
With rng.cells(R, 1)
.NumberFormat = "General"
.value = .value
End With
Next R
End Function