我的电子表格中有一个变量列表,它们属于名为“a,b,c,d ...”(等)的一些点,用于不同数量的点。这个列表之后是一个类似的变量列表(1,2,3,4 ......“(等),长度也各不相同。
对于一栏,我想做的是:
对于初始数据集,例如对于行“a”,“b”,“c”,“d”中的4个起始点,前5个单元格的数据将从行“a”,“b”,“c”,“d”,“ d“;接下来的4将从“b”,“c”,“d”,“d”复制,接下来的3将从“c”,“d”,“d”,然后“d”,“d”复制。 请参阅链接(格式化不是必需的,我只是在我的文本文件中使用它以便更容易发现重复)。我要复制的数据是标有“K - ”的列。
http://i.imgur.com/3gCPWxm.png
我确信有一种方法可以通过几个循环实现这一点,我无法理解它!
答案 0 :(得分:0)
Dim str As String
str = "abcd"
str = str & Right(str, 1)
Debug.Print str
Do While Len(str) > 2
str = Right(str, Len(str) - 1)
Debug.Print str
Loop
输出:
abcdd bcdd cdd dd
对于在单元格上执行的相同操作:
lRow = Cells(1, 2).End(xlDown).Row
Range(Cells(lRow + 1, 2), Cells(lRow * 2 - 1, 2)).Value = Range(Cells(2, 2), Cells(lRow, 2)).Value
Cells(lRow * 2, 2).Value = Cells(lRow * 2 - 1, 2).Value
i = lRow - 1
lRow = lRow * 2
Do While i >= 2
Range(Cells(lRow + 1, 2), Cells(lRow + i, 2)).Value = Range(Cells(lRow - i + 1, 2), Cells(lRow, 2)).Value
lRow = lRow + i
i = i - 1
Loop