簡體   English   中英

循環遍歷i = 1到n行,找到每行中最后使用的列,並將其數據復制到與VBA相同的行AA1中?

[英]loop through i = 1 to n rows, find last used column in each row and copy its data to column AA1 same row VBA?

我陷入了我希望宏在可變數量的行中循環的部分。 我需要在每一行中找到最后使用的列,並將其內容復制到同一行的AA1列。 每行中的列數也是可變的,並且隨着列數是要復制的文本的結果而變化。 我永遠不會知道我將擁有多少行和列。

原因是最后使用的列將具有一個鍵,稍后我將使用該鍵從另一張表中查找數據。 請幫助。 我試圖通過先選擇列AA1,然后像這樣按ctrl + shift左鍵,然后將其粘貼到“ 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

要查找此行的最后一列LETTER

LastColLtr = Split(Cells(1, Range("ZZ" & RN1).End(xlToLeft).Column).Address, "$")(1)

要查找此行的最后一列NUMBER

LastColNum = Range("ZZ" & RN1).End(xlToLeft).Column
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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM