我是VBA的初学者,无法找到或拼凑代码来做我想做的事情。看起来应该很简单,我现在对VBA很不熟悉,我遇到了麻烦。
这是我在循环中尝试做的事情,直到第1行为空
这是我目前所拥有的图像
我知道我可以删除之后的行 “False,Transpose:= True”
我不确定如何添加循环或do,直到第1行为空并且继续将转置的粘贴移动到该行。
提前致谢!
答案 0 :(得分:2)
答案 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