Option Base 1
Sub 單元格區域除空格()
Dim my As Range, my1(), c As Range
Dim p As Long
Dim i As Long
Set my = Application.InputBox(Prompt:="使用滑鼠選擇儲存格區域 ",Type:=8)
p = my.Count
i = 1
ReDim my1(p, 1)
For Each c In my
If c.Value
"" Then#my1(i, 1) = c.Valuei = i 1
End If
Next c
Set my = Application.InputBox(Prompt:="使用滑鼠選擇要輸出的第一個儲存格", Type:=8)
Application.ScreenUpdating = False
If i = 1 Then
my = my1
Else
Range(my, my.Offset(i - 2, 0)) = my1
End If
Application.ScreenUpdating = True
MsgBox "完成。"
End Sub
#這程式碼可以達到你要。
操作方法參考
可以參考我昨天在《》回答的《助:有沒有辦法批量行轉為列》問題
#即,把上面3行轉換成下面的2列,不知是否這個意思!
1、在A10單元格輸入公式:
=OFFSET($A$1,INT((ROW(A1)-1)/10),MOD(ROW(A1)-1,10))
複製並下拉
2、在B10單元格輸入公式:
=IF(OFFSET($A$1,INT((ROW(B1)-1)/10),MOD(ROW(B1) 9,10) 1)="","",OFFSET($A$1 ,INT((ROW(B1)-1)/10),MOD(ROW(B1) 9,10) 1))
複製並下拉
3、選擇A10:B39區域,滑鼠右鍵複製-再滑鼠右鍵-選擇性貼上-數值
即形成了A10:B39的資料區域,公式已經全部沒有了,單元格內全部變成資料。
4、排序把B列中為空格的行刪除,即可。
#E2=IF(ROW(A1)>COUNTA($A$2:$D$9),"",INDIRECT(TEXT(SMALL(IF($A$2:$D$9"",ROW($A$2: $D$9)*100 COLUMN($A$2:$D$9),99^9),ROW(A1)),"r0c00"),))
F2=IF(ROW(A1)>COUNTA($A$2:$D$9),"",INDEX($A$1:$D$9,MOD(SMALL(IF($A$2:$D$9" ",ROW($A$2:$D$9)/100 COLUMN($A$2:$D$9),99^9),ROW(A1)),1)*100,INT(SMALL(IF($A$2 :$D$9"",ROW($A$2:$D$9)/100 COLUMN($A$2:$D$9),99^9),ROW(A1)))))
陣列公式向下複製【陣列公式,公式輸完後,遊標放在公式編輯欄同時按下CTRL SHIFT 回車鍵,使陣列公式生效】###
以上是如何把EXCLE中多行多列資料轉換放到一列中的詳細內容。更多資訊請關注PHP中文網其他相關文章!