対象:Excel2013
・セルをダブルクリックするとセルのテキストをクリップボードにコピーできるようにする
WorkSheetのBeforeDoubleClickイベントに以下のコードを設定する
Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
' セルをダブルクリックするとセルのテキストをクリップボードにコピーする Dim CB As New DataObject Call CB.SetText(Target.Cells(1, 1).Text) CB.PutInClipboard MsgBox "クリップボードにコピーしました"
End Sub
注意事項 DataObjectを使用してクリップボードに文字列を送ります。
DataObjectを使用するには下記の設定が必要です。
設定なしで実行すると下記のエラーが出力される
→ ExcelVBAでDataObjectを使えるようにする
・ExcelVBAでDataObjectを使えるようにする
DataObjectを使用するには「Microsoft Forms 2.0 Object Library」への参照が必要です。
以下の手順を実施する。
1. Visual Basic Editorのメニューから[ツール]→[参照設定]を選択する。
2. [参照設定]ダイアログボックスで「Microsoft Forms 2.0 Object Library」にチェックを入れ、[OK]をクリックする。
※「参照可能なライブラリ ファイル」のリストにない場合は、3以降を実施する。
3. [参照設定]ダイアログボックスで[参照]ボタンをクリックする。
4.「C:\Windows\system32\FM20.DLL」を選択する。
5. [参照設定]ダイアログボックスで「Microsoft Forms 2.0 Object Library」にチェックが入っていることを確認し、[OK]ボタンをクリックする。
・プルダウンリストから入力したい文字を選ぶ
1. プルダウンで表示させたい文字列を作成する。

2. プルダウンに表示させたい文字列を選択します。

3. Excelメニューの数式→名前の定義を選択します。

4. 新しい名前ダイアログが表示されたら、名前に「動物」と入れます。

5. プルダウンリストを使いたい表を準備します。

6. プルダウンリストを使いたいセルを選択します。

7. データの入力規則ダイアログの設定タブにて入力値の種類に「リスト」を選択し
元の値のところに「=(イコール)」と名前の定義で付けた名前を入力する。






