- ベストアンサー
Excelマクロで選択範囲内の数値の合計をクリップボードにコピーする方法
- Excelのマクロを使用すると、選択範囲内の数値の合計をクリップボードにコピーすることができます。
- ただし、このマクロを呼び出すたびにエラーが発生し、手動で「Microsoft Forms 2.0 Object Library」を参照設定する必要があります。
- マクロ内で「Microsoft Forms 2.0 Object Library」を自動で参照設定する方法はありませんか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
参照設定が消えてしまうのですか? 一応下記で対応ができると思います。 ※すでに参照設定されている場合はエラーになります。 On Error Resume Next 命令を入れた方が良いかも知れません。 ※参照設定はフルパスで指定しますので、OSや環境により変わるかも知れません。 Sub 参照設定() ThisWorkbook.VBProject.References.AddFromFile ("C:\Windows\system32\FM20.DLL") End Sub
その他の回答 (1)
- Wendy02
- ベストアンサー率57% (3570/6232)
以下のようにすれば、クリップボード・オブジェクトを作れます。 一般のクリップボードを使いたければ、Win32 APIのほうが便利かもしれません。 '// Public myData As Object Sub SumCopyR() Const clsid_DATAOBJECT As String = "1C3B4210-F441-11CE-B9EA-00AA006B1A69" If myData Is Nothing Then Set myData = CreateObject("new:" & clsid_DATAOBJECT) End If myData.SetText Application.WorksheetFunction.Sum(Selection), 1 myData.PutInClipboard End Sub '// ClassID は、以下のようにして検索しました。 検索語:DataObject HKEY_CLASSES_ROOT\CLSID\{1C3B4210-F441-11CE-B9EA-00AA006B1A69} Microsoft Forms x.x DataObject (こちらは、RegSeekerを利用)