Macros 在宏中使用列标题映射列
我有两张工作表。我必须根据列名将值从第二个工作表复制到第一个工作表。 对于从G列到C列的应对策略数据,我使用- 如果Wks2.Range(“C”和I)Wks.Range(“G”和J).值,则 Wks2.范围(“C”和I).值=Wks.范围(“G”和J) 如果结束 但这里的问题是,列序列在secong one中不断变化。所以映射不能硬编码在列字母表上。 我不知道如何使用列标题映射它们。Macros 在宏中使用列标题映射列,macros,Macros,我有两张工作表。我必须根据列名将值从第二个工作表复制到第一个工作表。 对于从G列到C列的应对策略数据,我使用- 如果Wks2.Range(“C”和I)Wks.Range(“G”和J).值,则 Wks2.范围(“C”和I).值=Wks.范围(“G”和J) 如果结束 但这里的问题是,列序列在secong one中不断变化。所以映射不能硬编码在列字母表上。 我不知道如何使用列标题映射它们。 提前谢谢。您可以在标题中搜索ColumnName。找到匹配项后,检索其行作为引用 Dim cellRef作为整数
提前谢谢。您可以在标题中搜索ColumnName。找到匹配项后,检索其行作为引用 Dim cellRef作为整数 Set e=工作表(2).行(1).查找(ColumnName)
如果不是,则e为零
cellRef=e。列
如果正常,则结束 因此,假设您的列名位于工作表(2)的第1行=wks2
您必须找到columnName的字母(这里是“C”)
SearchColumn:想要的columnname
将e变暗为对象
设置e=无
设置e=wks2.范围(“1:1”).查找(搜索列)
如果不是,则e为零
Dim colAddress作为字符串
colAddress=e.Address
作为字符串的Dim colLetter
colLetter=Mid(colAddress,2,InStr(2,colAddress,“$”,vbTextCompare)-2)
如果Wks2.Range(colLetter&I)Wks.Range(“G”&J).值,则
Wks2.Range(colLetter&I).Value=Wks.Range(“G”&J)
结束
否则
msgbox(“找不到”&搜索列)
如果结束 如果结束 首先,我们找到(e)列 e、 address返回找到的列地址 然后colLetter存储它的列字母 有任何问题请通知我
C我不知道它如何适合我的剧本。你能把它和我上面的例子联系起来吗。