У меня есть две разные книги excel, одна называется DATA, а одна называется ReportTemplate. Поэтому теперь мне нужно вставить данные из DATA в соответствующую строку/столбец в ReportTemplate.VBA: Цикл для сопоставления рисунков из 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 для хранения значений для этой конкретной ячейки в DATA, а затем вставьте его в диапазон («X36»). Значение в REPORTTEMPLATE. Поэтому в настоящее время я делаю «сопоставление» жестко.
Это как мой DATA выглядит следующим образом: 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