0
我有2个不同的Excel工作簿,一个叫做DATA,一个叫ReportTemplate。所以现在我需要将数据从DATA插入到ReportTemplate中相应的行/列中。VBA:Loop来映射来自2个不同工作簿的数字
如何我现在做的是,例如: “其他(这是对其他货币)
DATA_FILE.activate
Sheets("SA_FX_2").select
SRC_SA_FX_2_D25 = Range("D25").Value
SRC_SA_FX_2_E25 = Range("E25").Value
SRC_SA_FX_2_F25 = Range("F25").Value
SRC_SA_FX_2_G25 = Range("G25").Value
SRC_SA_FX_2_H25 = Range("H25").Value
REPORTTEMPLATE_FILE.activate
Sheets("SA_FX_2").select
Range("D36").Value = SRC_SA_FX_2_D25
Range("E36").Value = SRC_SA_FX_2_E25
Range("F36").Value = SRC_SA_FX_2_F25
Range("G36").Value = SRC_SA_FX_2_G25
Range("H36").Value = SRC_SA_FX_2_H25
的SRC_SA_FX_2_X25是存储值中数据的特定细胞,然后将其插入范围(“X36”)。REPORTTEMPLATE中的值。所以目前我正在以硬编码的方式进行“映射”。
这是我的数据看起来像: DATA TEMPLATE
这是我REPORTTEMPLATE看起来像:REPORTTEMPLATE
对于“其他”及以上的货币,它们都是固定的,这样我就可以硬编码单元格。
但是,如果有任何新货币,我的宏应该检测到,然后在下拉列表中选择货币,并进行映射。
我怎样才能实际参数化我的代码上面为了其余货币的映射?
谢谢您的建议。
喜德克,我想了解这 OutRow = Application.Match(wsIn.Cells(I,3).Value2,wsOut.COLUMNS( 3),0)。所以这试图将wsIn.cells(i,3).value2与wsOut.columns(3)匹配,但后面的.value2和0是什么意思? – Chun
@Chun'Value2'只是单元格内的值。和'0'完全匹配(或者找到完全相同的,或者返回错误)。 –
当我厌倦调试outrow = application.match ...给我outRow =错误2042,和wsout.Range = wsIn.Range给我类型不匹配。可能是造成这个问题的原因是什么? – Chun