我有一个外部csv文件和一个xlsb工作簿,有两个工作表。表1有120列,表2有计算表1信息的相关财务比率的公式。
在工作表1中的120列中,我需要10列来创建包含公式的工作表2。我在csv中有这10列(使用Python df减少了它)。
我想使用VBA将csv中的这10列粘贴到工作表1中的120列之上,并删除工作表1中的110个不必要的列。同时,第2页中的公式应保留,并计算财务比率。
我的代码是将这10列粘贴到120列的顶部,但它不会删除110列。
Sub UpdateSource()
Set wb = ActiveWorkbook
Set src = Workbooks.Open("csv file")
With wb
src.Sheets(1).UsedRange.EntireColumn.Copy
.Sheets(1).Range("A1").PasteSpecial xlPasteValuesAndNumberFormats
With .Sheets(2)
.Activate
.Calculate
End With
End With
src.Close
wb.Save
End Sub
1条答案
按热度按时间qoefvg9y1#
在粘贴新数据之前,您需要删除旧数据,然后粘贴新数据。
我建议首先计算wb中最后一行的数据,然后用这个数字删除该范围的数据。