Excel复制,粘贴,转置以下循环直到

时间:2017-07-17 20:12:54

标签: excel vba excel-vba loops

我是VBA的初学者,无法找到或拼凑代码来做我想做的事情。看起来应该很简单,我现在对VBA很不熟悉,我遇到了麻烦。

  

这是我在循环中尝试做的事情,直到第1行为空

  

这是我目前所拥有的图像

我知道我可以删除之后的行 “False,Transpose:= True”

我不确定如何添加循环或do,直到第1行为空并且继续将转置的粘贴移动到该行。

提前致谢!

2 个答案:

答案 0 :(得分:2)

此代码:

enter image description here

转过来:

enter image description here

进入这个:

enter image description here

答案 1 :(得分:1)

实际上你有两个解决方案:

 Range("A1:C5").Select
 Selection.Copy
 Range("A12").Select
 Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
 False, Transpose:=True

或者你可以通过

使其更灵活
Sub transposeTable() 
Dim intLine, intCol, intLine2, intCol2 as Integer

    intLine = Sheets(SHEET_PAGE).range(strRange).Row 
'Ex : Sheets("Sheet1").range("firstTable")

    intCol = Sheets(SHEET_PAGE).range(strRange).Column
    intLine2 = Sheets(SHEET_PAGE).range(strRange2).Row
    intCol2 = Sheets(SHEET_PAGE).range(strRange2).Column

    While Sheets(SHEET_PAGE).Cells(intLine, intCol) <> ""
         ' Transpose code here, where the value at a(i,j) goes to a(j,i)       
        intLine = intLine + 1
    Wend

End Sub