cells().cut cells( ):需要剪切的单元格(也可以是 range),cut到 需要剪切后的单元格(只需要所在区域的第一个单元格作为定位即可)
cells().reszie( ):需要拓展的单元格resize(需要拓展的行(包括自身),需要拓展的列(同左))
Cells(2, 2).Resize(1, 2).Select
------------------------------------------
Dim rng As Range
For Each rng In Range("a2", Cells(2, "a").End(xlDown))
rng.Resize(1, 3).Cut Cells(Rows.Count, (rng.Value - 2011) * 3 + 2).End(xlUp)(2, 1)‘ 将A列年份的拓展区域,剪切到对应年份下,使用年份数定位到年份对应的列数是巧妙所在’
Next
End Sub
Sub a()
Dim rk As Range, sr As String, num As Integer
Dim rkd As Range
Dim quanbu As Range
Set quanbu = Union(Range("f2", [f2].End(xlDown)), Range("i2", [i2].End(xlDown)), Range("l2", [l2].End(xlDown)))“将执行区域定位到全部的含有年份的列”
num = InStr(rk, "/") + 1 ‘寻找分割点’
sr = Mid(rk, num, 9) ‘定义字符串为分割点后的9个字符’
For Each rkd In Range("d2", "d13")
If rkd.Value = sr Then‘ 如果字符串对应到相应位置’
Union(rk.Resize(1, 2), rk.Offset(0, -1)).Cut rkd.Offset(0, -3)
End If
Next rkd
Next rk
End Sub