VBA复制Model工作表单元格值到Results数组无效果问题求助
问题解决:VBA数组修改后未同步到工作表
- 核心问题:你的代码仅将工作表区域的数据读取到内存数组中,修改数组后没有把数组写回原工作表区域,所以工作表不会出现任何变化。
修正后的代码如下:
Sub CopyTest() Dim ResultsArray As Variant ' 将Results工作表C4:I23区域的数据读取到内存数组 ResultsArray = Worksheets("Results").Range("C4:I23") ' 修改数组的指定位置(对应C4单元格) ResultsArray(1, 1) = Worksheets("Model").Range("F8").Value ' 关键步骤:把修改后的数组写回原工作表区域 Worksheets("Results").Range("C4:I23") = ResultsArray End Sub
如果要实现循环填充,示例代码如下:
Sub CopyWithLoop() Dim ResultsArray As Variant Dim loopcounter As Integer ResultsArray = Worksheets("Results").Range("C4:I23") ' 循环填充数组第一列的前20行(对应C4:C23) For loopcounter = 1 To 20 ResultsArray(loopcounter, 1) = Worksheets("Model").Range("F8").Value Next loopcounter ' 写回工作表生效 Worksheets("Results").Range("C4:I23") = ResultsArray End Sub
内容的提问来源于stack exchange,提问作者tsp
相关产品推荐
相关产品推荐

