Excel VBA插入表头至首行时偏移10列的修复求助
修复VBA表头偏移问题
错误原因
你的代码里Cells(1 & i)是字符串拼接操作:当i=0时,1 & 0会生成字符串"10",对应单元格是第1行第10列(J1);i=1时生成"11"对应K1,以此类推——这就是表头从第10列开始、整体偏移的根本原因。
修复代码
VBA中Cells的正确语法是Cells(行号, 列号),结合你的0索引数组titles,需要把列号从i+1开始(Excel列号从1起算):
For i = 0 To 11 Step 1 Cells(1, i + 1).Value = titles(i) Next i
更高效的写法
如果titles是一维数组,还可以直接批量赋值,不用循环,执行效率更高:
Range("A1").Resize(1, UBound(titles) - LBound(titles) + 1).Value = titles
内容的提问来源于stack exchange,提问作者JescSH
相关产品推荐
相关产品推荐

