我想将我的数据从不同的行复制到其他列。 实施例。
B4 has to be copied to H129 ,
B25 to H130,
B46 to H131...and so on ..
这里的行增加了21行。
如何在excel中做到这一点?
答案 0 :(得分:0)
转到VBA并:
Sub sdgfsa()
Dim i As Integer
Dim j As Integer
j = 129
For i = 4 To 1000 Step 21 'put the end number you want, the start is 4 like your example
Plan1.Cells(j, 8).Value = Plan1.Cells(i, 2).Value 'Here, plan1 represents the sheet, 2 is B column, 8 is H column
'or you can use KazJaw's Copy here
j = j + 1 'j gets incremented
Next
End Sub
答案 1 :(得分:0)
当你需要复制所有(也就是...值和格式)而不是这样:
Range("B4").Copy Range("H129")
使用@Daniel代码,你可能需要在循环中使用这样的东西
'...see Daniel answer for beginning
Plan1.Cells(i, 2).Copy Plan1.Cells(j, 8)
'... and so on
答案 2 :(得分:0)
在单元格H129中输入以下公式:
=INDIRECT("b"&(ROW(H129)-129)*21+4)
然后使用“Fill Down”将公式从此单元格复制到其下方的单元格中。
这是因为“H129”引用会在复制时更改为H130,H131等,因此ROW()函数将连续返回更高的数字。
修改强>
更正公式以匹配相关示例。