Board logo

標題: [發問] 資料合併後加到剪貼簿 [打印本頁]

作者: 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
  1. Sub Ex()
  2.   Dim rngSelect As Range, sMerge As String
  3.   
  4. SELECT_RANGE_AGAIN:
  5.   On Error Resume Next
  6.   Set rngSelect = Application.InputBox(prompt:="請選擇單列範圍或單欄範圍", Default:=Selection.Address, Type:=8)
  7.   On Error GoTo 0
  8.   If rngSelect Is Nothing Then Exit Sub
  9.   rngSelect.Select
  10.   
  11.   With rngSelect
  12.     If .Rows.Count = 1 And .Columns.Count = 1 Then  '單格
  13.       sMerge = rngSelect.Value
  14.     ElseIf .Rows.Count = 1 And .Columns.Count > 1 Then  '單列
  15.       sMerge = Join(Application.Transpose(Application.Transpose(rngSelect.Value)), ",")
  16.     ElseIf .Rows.Count > 1 And .Columns.Count = 1 Then  '單欄
  17.       sMerge = Join(Application.Transpose(rngSelect.Value), ",")
  18.     Else
  19.       GoTo SELECT_RANGE_AGAIN
  20.     End If
  21.   End With
  22.   
  23.   With New DataObject '需引用 Microsoft Form Object Library
  24.     .SetText sMerge
  25.     .PutInClipboard
  26.   End With
  27. 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

研究完~~~

我將
  1.   Set rngSelect = Application.InputBox(prompt:="請選擇單列範圍或單欄範圍", Default:=Selection.Address, Type:=8)
複製代碼
改做
  1.   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/)