【发布时间】:2021-06-14 07:20:19
【问题描述】:
我正在尝试识别交集是我要检索的数据的行和列,就像 Excel 中的索引匹配匹配公式一样。我的方法是在列中查找数据,获取列字母,然后对行中的数据执行相同操作并检索行号。我遇到的问题是我必须在宏所在的单独工作簿中引用一个单元格,以打开另一个随月份更改的电子表格名称。我敢肯定这整件事的方法不是很好,不胜感激!
Option Explicit
Sub RevenueTest()
'GVS1 Revenue Index Match Test
'DELETES & COPIES GVS1 revenue into P&R File
Dim GVS1 As String
GVS1 = ThisWorkbook.Sheets("Revenue").Range("v13")
Dim GVS1IS As String
GVS1IS = ThisWorkbook.Sheets("Revenue").Range("V7")
Dim GVS1Open As String
GVS1Open = Excel.Workbooks.Open(GVS1)
Dim Row As String
Row = Range("B5:B25").Find("Generation").Select.ActiveCell.Row
Dim Month As String
Month = ThisWorkbook.Sheets("Revenue").Range("V4")
Dim MonthActual As String
MonthActual = Month & " Actual"
Dim Column As String
Column = Range("A1:P15").Find(MonthActual).Select.ActiveCell.Column
Dim GVS1RowAndColumn As String
GVS1RowAndColumn = Column & Row
'OPENS / Indexes and Copies Revenue
Excel.Workbooks.Open (GVS1)
Columns("C:Q").EntireColumn.Delete
Range(GVS1RowAndColumn).Copy
'PASTES GVS1 revenue into P&R File
Dim Revenue As Worksheet
Set Revenue = ThisWorkbook.Sheets("Revenue")
ThisWorkbook.Activate
Revenue.Range("D3:D11").Find("Revenue").Select
Selection.End(xlToRight).Select
ActiveCell.Offset(0, 1).Range("A1").PasteSpecial xlPasteValues
End Sub
【问题讨论】:
-
澄清一下,问题是在V13中需要输入电子表格名称吗?如果是这样,请您提供一些更改名称的示例
-
不,我明白为什么会令人困惑。我已经解决了随着月份的变化而修改文件名的问题,问题是试图在 VBA 中“索引匹配匹配”。我不确定我的方法是否合理,我的代码可能完全错误