excel - 将通过输入框选择的列设置为变量
问题描述
尝试开发代码以在另一个工作簿 (OpenBook_CY) 中查找值并将其存储在 Comp_Book 中。代码运行良好,但是我需要将一些固定列更改为变量
Dim Conp_Book as Workbook, OpenBook_CY as Workbook
Dim M_Sheet As Worksheet, CY_Sheet As Worksheet
Dim M_LR As Long, CY_LR As Long, r As Long, SelectE_Column As Long, E_Column As range
Dim CY_Rng As range,
Set M_Sheet = Comp_Book.Worksheets("Sheet1")
Set CY_Sheet = OpenBook_CY.Worksheets("Trial-New")
M_LR = M_Sheet.range("B" & Rows.Count).End(xlUp).Row
CY_LR = CY_Sheet.range("J" & Rows.Count).End(xlUp).Row
SelectE_Column = Application.InputBox(Prompt:="Select your entity ", Title:="Select Entity", Type:=8)
Set E_Column = SelectE_Column.EntireColumn
Set CY_Rng = CY_Sheet.range("B2:J" & CY_LR)
For r = 6 To M_LR
On Error Resume Next
M_Sheet.range("D" & r).Value = Application.WorksheetFunction.VLookup(M_Sheet.range("B" & r).Value,
CY_Rng, 9, 0)
Next r
我想将“J”(如CY_Rng中提到的)替换为用户通过输入框选择的列(我暂时命名为E_Column)。现在 J 是一个固定列,但我希望它是用户选择的列(在 CY_Rng 中)
Set CY_Rng = CY_Sheet.range("B2:J" & CY_LR)
其次,在 vlookup 公式中,“9”代表第 9 列,即上面提到的“J”同样,我希望将数字“9”替换为上面用户选择的列号
M_Sheet.range("D" & r).Value = Application.WorksheetFunction.VLookup(M_Sheet.range("B" & r).Value,
CY_Rng, 9, 0)
解决方案
您是否尝试将列“J”声明为变量?
推荐阅读
- web-applications - 如何在 SharePoint 应用程序中实施内容安全策略 (CSP)?
- unity3d - 持久性 GameManager 和对象实例化
- python - 安装 pytest 时出错。我该如何解决?
- flutter - Flutter:如果 datePicker 未滚动,则打印 DateTime
- amazon-web-services - ApplicationAutoScaling 如何为 lambda 工作?
- ruby-on-rails - 测试加入记录创建
- python - 使用 Python 合并 Excel 工作表中的特定单元格
- php - 用 Slim 覆盖查询参数
- visual-c++ - 无法让 libzippp 在 VC++ 64 位中工作
- android - Jetpack 组成 viewstate 数据类的原因