我遇到了一个我希望宏循环遍历可变行数的部分。我需要在每一行中找到最后使用的列,并将其内容复制到AA1列的同一行。每行中的列数也是可变的,并且将随着要复制操作的文本的结果而变化。我永远不会知道我会有多少行和列。
这样做的原因是最后使用的列将具有一个密钥,我将在稍后使用该密钥来查看另一个工作表中的数据。 请帮助。我试图通过首先选择colum AA1然后向左移动ctrl + shiftlike来记录这个,然后将其粘贴到列'AB1',这样我就可以将所有代码放在一列中。但是当我尝试循环时它不起作用。
Range("AA1").Select
Range(Selection, Selection.End(xlToLeft)).Select
Selection.Copy
Range("AB1").Select
ActiveSheet.Paste
这是我到目前为止为这个循环汇总的内容:
Sub newmak()
Dim i
Dim n
n = Range("A" & Range("A:A").Rows.Count).End(xlUp).Row
For i = 1 To n
'==================================that part is not working
Cells(i, Columns.Count).Select
Selection.Copy
Range("a" & i, 27).Select '<--??
Selection.PasteSpecial
'==================================
Next i
End Sub
答案 0 :(得分:0)
查找此行的最后一列LETTER
li:not(:first-of-type)::before, li:not(:first-of-type)::after{
content:'';
display: block;
position: absolute;
top: 0;
left: -10px;
width:0;
height:0;
border-style: solid;
border-width: 15px 0 15px 10px;
border-color: blue transparent;
box-shadow: 1px 0 0 blue;
}
li:not(:first-of-type)::after{
left: -9px;
border-color: lightblue transparent;
box-shadow: 1px 0 0 lightblue;
}
查找此行的最后一列NUMBER
LastColLtr = Split(Cells(1, Range("ZZ" & RN1).End(xlToLeft).Column).Address, "$")(1)
答案 1 :(得分:0)
dim i as long
i = 1
do until isempty(activesheet.cells(i, 1).value)
dim v as variant
if isempty(activesheet.cells(i, 2).value) then
v = activesheet.cells(i, 1).value
else
v = activesheet.cells(i, 1).end(xltoright).value
end if
activesheet.cells(i, "AB").value = v
i = i + 1
loop