- 帖子
- 1018
- 主題
- 15
- 精華
- 0
- 積分
- 1058
- 點名
- 0
- 作業系統
- win7 32bit
- 軟體版本
- Office 2016 64-bit
- 閱讀權限
- 50
- 性別
- 男
- 來自
- 桃園
- 註冊時間
- 2012-5-9
- 最後登錄
- 2022-9-28
|
2#
發表於 2013-10-1 15:56
| 只看該作者
回復 1# joslau - Sub Ex()
- Dim rngSelect As Range, sMerge As String
-
- SELECT_RANGE_AGAIN:
- On Error Resume Next
- Set rngSelect = Application.InputBox(prompt:="請選擇單列範圍或單欄範圍", Default:=Selection.Address, Type:=8)
- On Error GoTo 0
- If rngSelect Is Nothing Then Exit Sub
- rngSelect.Select
-
- With rngSelect
- If .Rows.Count = 1 And .Columns.Count = 1 Then '單格
- sMerge = rngSelect.Value
- ElseIf .Rows.Count = 1 And .Columns.Count > 1 Then '單列
- sMerge = Join(Application.Transpose(Application.Transpose(rngSelect.Value)), ",")
- ElseIf .Rows.Count > 1 And .Columns.Count = 1 Then '單欄
- sMerge = Join(Application.Transpose(rngSelect.Value), ",")
- Else
- GoTo SELECT_RANGE_AGAIN
- End If
- End With
-
- With New DataObject '需引用 Microsoft Form Object Library
- .SetText sMerge
- .PutInClipboard
- End With
- End Sub
複製代碼 |
|