【问题标题】:Array to Loop through Cell Values Excel VBA数组循环遍历单元格值Excel VBA
【发布时间】:2017-10-13 14:45:22
【问题描述】:

我在两个单独的数组中定义了单元格。 (即source_arr = ("B4","B5"...)target_arr = ("B5","B6")

我想遍历两个数组并将目标工作簿单元格的值设置为等于源工作簿单元格的值。现在它将所有单元格设置为一个值。

 For i = LBound(source_array) To UBound(source_array)
For j = LBound(target_array) To UBound(target_array)
Data = source_workbook.Sheets("Questionnaire").Cells(source_array(i)).Value
target_workbook.Sheets("Questionnaire").Cells(target_array(j)).Value = Data
Next j
Next i

【问题讨论】:

  • 您可能根本不需要两个数组。你能张贴你的数据截图吗?
  • 可能像target_arr = array("B5","B6")
  • 如果数组是同构的,只需要一个循环。

标签: arrays vba excel


【解决方案1】:

你只需要一个循环。你想要范围而不是单元格:

For i = LBound(source_array) To UBound(source_array)
    Data = source_workbook.Sheets("Questionnaire").Range(source_array(i)).Value
    target_workbook.Sheets("Questionnaire").Range(target_array(i)).Value = Data
Next i

【讨论】:

  • 我在发布问题后确实设法自行修复了 Range 部分...*翻白眼* 但是由于某种原因,我认为我需要 2 个循环!这样的笨蛋,我想多了。感谢您的帮助,它完美运行。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-28
  • 1970-01-01
  • 2019-10-15
  • 2022-01-22
相关资源
最近更新 更多