工作簿。活化在选择范围后不工作

发布于 2025-02-01 17:59:53 字数 1078 浏览 3 评论 0原文

我编写了一个简单的VBA代码来自动编写Vlookup公式。测试代码后,我注意到当我从其他工作簿中选择范围时,它无法正常工作。它创建了视图的Vookup公式,但不会切换到初始工作簿。它一直专注于我用来选择一个范围的工作簿。正如我在调试时注意到的那样,它参考了正确的工作簿和工作表,但由于某种原因,它不会改变焦点。

如果有人有任何想法,我会很感激。谢谢。

Sub vlookup_easy()


Dim Rng As Range
Dim shOriginal As String
Dim wbOriginal As String


Dim frmWS As String
Dim frmWb As String
Dim sRange As String
Dim iColumn As Integer

shOriginal = ActiveSheet.Name
wbOriginal = ActiveWorkbook.Name

Set Rng = Application.InputBox(Prompt:="Unestie Range za Vlookup formulu", Title:="Vlookup", Default:=Selection.Address, Type:=8)

sRange = Rng.Address
frmWS = Rng.Parent.Name
frmWb = Rng.Parent.Parent.Name

iColumn = Application.InputBox(Prompt:="Unestie indeks kolone za Vlookup formulu", Title:="Vlookup", Default:=2, Type:=1)

ActiveCell.Formula = "=VLOOKUP(" & ActiveCell.Offset(0, -1).Address(False, False) & ",'[" & frmWb & "]" & frmWS & "'!" & sRange & "," & iColumn & ",FALSE)"

Workbooks(wbOriginal).Sheets(shOriginal).Activate  'this part is not working correctly


End Sub

I wrote a simple VBA code to automate writing of Vlookup formulas. After testing the code I noticed that it is not working correctly when I select a Range from a different workbook. It creates Vlookup formula as intented but it does not switch to initial workbook. It stays focused on a Workbook which I used to select a range. As much as i noticed while debuging it references the correct workbook and sheet but it does not change focus for some reason.

If anyone has any ideas I would appreciate it. Thank you.

Sub vlookup_easy()


Dim Rng As Range
Dim shOriginal As String
Dim wbOriginal As String


Dim frmWS As String
Dim frmWb As String
Dim sRange As String
Dim iColumn As Integer

shOriginal = ActiveSheet.Name
wbOriginal = ActiveWorkbook.Name

Set Rng = Application.InputBox(Prompt:="Unestie Range za Vlookup formulu", Title:="Vlookup", Default:=Selection.Address, Type:=8)

sRange = Rng.Address
frmWS = Rng.Parent.Name
frmWb = Rng.Parent.Parent.Name

iColumn = Application.InputBox(Prompt:="Unestie indeks kolone za Vlookup formulu", Title:="Vlookup", Default:=2, Type:=1)

ActiveCell.Formula = "=VLOOKUP(" & ActiveCell.Offset(0, -1).Address(False, False) & ",'[" & frmWb & "]" & frmWS & "'!" & sRange & "," & iColumn & ",FALSE)"

Workbooks(wbOriginal).Sheets(shOriginal).Activate  'this part is not working correctly


End Sub

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文