gpt4 book ai didi

vba - 复制公式而不更改单元格引用

转载 作者:行者123 更新时间:2023-12-04 21:57:42 25 4
gpt4 key购买 nike

我想打开一个工作簿,然后将一列并排复制到另一个工作簿(每个文件中相邻的列)。
但是我不想更改单元格引用(即,如果正在复制的范围内的引用是 C15:C17 我不希望它移动)。我怎么能接近这个?

目前我正在使用以下代码:

Sub dane_wolne()
'Application.DisplayAlerts = False
'Application.ScreenUpdating = False
Application.Calculation = xlManual
Wiersz2 = 20

For i = 1 To Wiersz2
Workbooks.Open FileName:=Katalog & "U" & i & ".xlsx", ReadOnly:=True


Range("D11:D210").Copy
ThisWorkbook.Worksheets("Obliczenia").Range("E11:E210").Offset(0, i).PasteSpecial xlPasteFormulas


Workbooks("U" & i & ".xlsx").Close
Next i
'Application.DisplayAlerts = True
'Application.ScreenUpdating = True
Application.Calculation = xlAutomatic
End Sub

最佳答案

Range.Formula 属性

您可以使用:ThisWorkbook.Worksheets("Obliczenia").Range("E11:E210").Offset(0, i).Formula = Range("D11:D210").Formula
在单独的步骤中复制格式。

离题提示

制作 ThisWorkbook.Worksheets("Obliczenia").Range("E11:E210")一个范围变量,然后只应用 .Offset使您的代码更干净,更快(纳秒:))

此外,将新打开的工作簿设置为变量是一种很好的做法,以使其更加明确和可靠。例如:Set SourceWB = Workbooks.Open FileName:=Katalog & "U" & i & ".xlsx", ReadOnly:=True (并不总是必要的。)
然后使用 SourceWB.Range("D11:D210")

关于vba - 复制公式而不更改单元格引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41322592/

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