gpt4 book ai didi

VBA 宏 workbook.open 或 workbook.activate 通过变量引用

转载 作者:行者123 更新时间:2023-12-04 21:09:20 27 4
gpt4 key购买 nike

如何引用我的主要工作簿和通过此子过程打开的第二个工作簿?我尝试做workbooks.("client_path").activate因为我使用此宏的目标是打开一个单独的工作簿,该工作簿分配给变量 client_path并将 A:A 列中的每个(1 到 200)个值与我的主工作簿的 K:K 列的所有值进行协调。如果在 client_path 上找到值工作簿(同样是 A:A 列),但不在我的主工作簿上(同样是 K:K 列) - 我想将唯一值添加到我的主工作簿的 M:M 列。相反的逻辑,我想要在我的主要工作簿上找到但在我的 client_path 上找不到的任何值工作簿出现在我的主要工作簿的 N:N 列中。

我正在开发此代码的主要工作簿的名称是标题“Client DIRTY watchlist”工作簿的内容client_path每天更新,随着时间的推移是无用的。

我是否需要创建一个函数来完成这个变量工作簿引用?

Sub Client_Dirty_Recon()

Dim Client_path As String
Dim Client_watchlist As Workbook
Dim Client_client_email As Workbook
Set Client_watchlist = ActiveWorkbook
Dim email_range As Range
Dim watchlist_range As Range

Application.ScreenUpdatClient = False
Client_path = Range("Path")
Workbooks.Open Client_path
Dim recon_list As Range

'For Each n In recon_list:
Dim i As Variant
For i = 1 To 200

Set email_range = ActiveWorkbook.ActiveSheet.Range("A" & i)
Dim b As Variant

For Each b In email_range

Set watchlist_range = Sheets("Client DIRTY watchlist").Range("B:B")


'if b
Next b

Next i

End Sub

最佳答案

你能早点引用你的工作簿吗?

Dim wb as workbook
Dim wbDirty as workbook

set wb = thisWorkbook
set wbDirty = workbooks.open Client_Path

然后,当您定义范围时,Excel 知道它们属于哪个工作簿。
Dim rngReconcile as range
Dim rngWatch as range

set rngReconcile = wb.Sheets(1).Range("K:K")
set rngWatch = wbDirty.Sheets("Client DIRTY watchlist").Range("B:B")

然后继续你的循环代码

关于VBA 宏 workbook.open 或 workbook.activate 通过变量引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26415179/

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