標題:
[發問]
資料合併後加到剪貼簿
[打印本頁]
作者:
joslau
時間:
2013-9-30 17:15
標題:
資料合併後加到剪貼簿
本帖最後由 joslau 於 2013-9-30 17:17 編輯
我想使用者自行選取所需資料後
再將選取資料合併
但中間加一個逗號
401234567
412345678
423456789
434567891
即使用者選取了以上資料後變成以下這樣加到剪貼簿 :
401234567,412345678,423456789,434567891
行數每次也是不一樣的
EXCEL內容可以不變
這樣做需要VBA嗎?
先謝!
作者:
stillfish00
時間:
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
複製代碼
作者:
wufonna
時間:
2013-10-1 18:49
請問 stillfish 大大
Excel 2010 版沒有 Microsoft Form Object Library 嗎?
引用中怎沒有 選項
作者:
stillfish00
時間:
2013-10-1 19:30
回復
3#
wufonna
插入一個空白表單,再看看是否自動引用了;如果還是沒有,手動瀏覽加入 C:\windows\system32\FM20.DLL。
作者:
joslau
時間:
2013-10-2 09:45
感謝!!!
我正研究不用彈出msgbox的可行性
作者:
joslau
時間:
2013-10-2 12:15
研究完~~~
我將
Set rngSelect = Application.InputBox(prompt:="請選擇單列範圍或單欄範圍", Default:=Selection.Address, Type:=8)
複製代碼
改做
Set rngSelect = Selection
複製代碼
現在不用顯示inputBox了
再次感謝stillfish00! m(_ _)m
作者:
wufonna
時間:
2013-10-2 12:22
謝謝 stillfish 大 加入表單就可了
請問 大大
手動加入是指這樣嗎
ThisWorkbook.VBProject.References.AddFromFile "C:\windows\system32\FM20.DLL"
謝謝
作者:
stillfish00
時間:
2013-10-2 14:20
回復
8#
wufonna
我是指VB編輯器>工具>設定引用項目>瀏覽,自己選該檔案,但跟你這code應該是同樣意思
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)