簡體   English   中英

VBA Excel粘貼更改值

[英]VBA Excel paste changes values

我正在將數據從一個工作簿(“ firstWB”)復制到另一個工作簿(“ secondWB”)。 第一個工作簿實際上是一個.txt文件。 我將文件擴展名更改為.xls以使用它。

在我的firstWB中,此列包含此數據:

0
0
0
0
0
2,378
2,378
3,038
3,038
3,146
3,146
3,146
3,151
3,151
3,107
3,107

使用firstWB.Sheets(1).Range(copyRng.Address).Copy將數據放入剪貼板。 然后我使用ActiveSheet.Paste Destination:=Worksheets("Tabelle2").Range("A2")粘貼它。 復制和粘貼工作正常,但是值會更改。 在我的SecondWB中,如果找到以下數據:

0,000
0,000
0,000
0,000
0,000
2.378
2.378
3.038
3.038
3.146
3.146
3.146
3.151
3.151
3.107

如何避免這種情況?

是firstWB硬數據中的值,還是單元格引用? 我感覺.copy正在復制單元格引用,因此在粘貼時,引用將引用具有不同信息的另一個位置。

一種可能的解決方案是將范圍值設置為彼此相等,而不是復制/粘貼。 這應該使您了解如何執行此操作(請注意,您必須對其進行調整以適合您的范圍):

sub test()
dim secondWB as worksheet
dim rng as Range, rng2 as Range 'rng will be the range you want to copy, rng2 is destination

Set rng = Range("A1:A10")
set rng2 = secondWB.range("B1:B10")

rng2.Value = rng.value 'this will set the range values equal.
end sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM