gpt4 book ai didi

vba - Sheets.Count 与工作簿激活

转载 作者:行者123 更新时间:2023-12-03 02:26:01 25 4
gpt4 key购买 nike

在下面的代码中,只有在运行宏之前通过鼠标单击手动选择“源”工作簿时,“Master.Activate”中的“Sheets.Count”才起作用。否则,“Master.Activate”将激活“Master”工作簿的第一个工作表,而不是执行 Sheets.Count 并选择最后一个工作表。这基本上意味着宏必须从“主”工作簿运行,但只能在单击“源”工作簿之后运行。如果您有任何有关如何解决此问题的建议,我将不胜感激。

Dim Source As Worksheet
Set Source = Workbooks("Source.xlsx").Worksheets("Settlements")
Dim Master As Worksheet
Set Master = Workbooks("Master Bonviva.xlsm").Worksheets(Sheets.Count)

Source.Activate

For Each cell In Source.Columns("M").Cells
If Not IsEmpty(cell) Then
Master.Activate
For Each cell2 In Master.Columns("J").Cells
If Not IsEmpty(cell2) Then
If cell = cell2 Then
cell2.Offset(0, 9).Value = cell.Offset(0, -2).Value
cell2.Offset(0, 8).Value = cell.Offset(0, -8).Value
End If
End If
Next cell2
End If
Next cell

End Sub

问候,巴特克

最佳答案

错误出现在

 Set Master = Workbooks("Master Bonviva.xlsm").Worksheets(Sheets.Count) 

无条件 Sheets.count 是指运行时打开的工作簿中的工作表数量。替换为这个

Dim wb as workbook
Set wb =Workbooks("Master Bonviva.xlsm")
Set Master = wb.worksheets(wb.sheets.count)

关于vba - Sheets.Count 与工作簿激活,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47268832/

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