在粘贴值

时间:2018-04-12 16:43:06

标签: excel vba excel-vba

我有一个打开工作簿的宏,从中复制一个范围并粘贴到我的一张工作表中的表中。问题是某些列中的值最终乘以1 000或1 000 000。

奇怪的是,这只发生在许多列中的少数列中,并且只发生在使用此宏复制的3个不同工作簿中的一个中。此外,如果我使用接口(而不是宏)来复制值,则问题不会发生。

为什么会发生这种情况,我该如何避免这种行为?

一些例子: 格式化为45,1的值乘以1 000,而6.489,2作为文本复制,405乘以1 000 000.可能需要注意我的系统中的小数分隔符是“,”,而数千separator是“。”,因为这是我国的标准。

我已经在网上搜索了可能的原因,但我得到的是教学使用multiply粘贴特殊教程,这不是我想要的。

我的宏是这样的:

Sub Pull_Values()
    Dim rngCopy as Range, rngPaste as Range

    ' Opens Workbook that has the values I need
    ' Finds the range that has the values I need and sets rngCopy to it
    ' Finds the target range and sets rngPaste to it

    rngCopy.Copy
    rngPaste.PasteSpecial xlPasteValues
    Application.CutCopyMode = False

    ' Closes the Workbook that was opened by this sub        
End Sub

不幸的是,我无法附加任何示例文件,因为数据都是保密的。

0 个答案:

没有答案