Excel/VBA

Last-modified: 2016-08-09 (火) 21:49:57

対象: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を使用するには下記の設定が必要です。
設定なしで実行すると下記のエラーが出力される

Err01.png

→ ExcelVBAでDataObjectを使えるようにする

 

・ExcelVBAでDataObjectを使えるようにする
DataObjectを使用するには「Microsoft Forms 2.0 Object Library」への参照が必要です。

以下の手順を実施する。

1. Visual Basic Editorのメニューから[ツール]→[参照設定]を選択する。

dataobject_setting01.png

2. [参照設定]ダイアログボックスで「Microsoft Forms 2.0 Object Library」にチェックを入れ、[OK]をクリックする。
 ※「参照可能なライブラリ ファイル」のリストにない場合は、3以降を実施する。

dataobject_setting04.png

3. [参照設定]ダイアログボックスで[参照]ボタンをクリックする。

dataobject_setting02.png

4.「C:\Windows\system32\FM20.DLL」を選択する。

dataobject_setting03.png

5. [参照設定]ダイアログボックスで「Microsoft Forms 2.0 Object Library」にチェックが入っていることを確認し、[OK]ボタンをクリックする。

dataobject_setting04.png

・プルダウンリストから入力したい文字を選ぶ
1. プルダウンで表示させたい文字列を作成する。
プルダウンリスト1.png


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


3. Excelメニューの数式→名前の定義を選択します。
プルダウンリスト3.png


4. 新しい名前ダイアログが表示されたら、名前に「動物」と入れます。
プルダウンリスト4.png


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


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


7. データの入力規則ダイアログの設定タブにて入力値の種類に「リスト」を選択し

  元の値のところに「=(イコール)」と名前の定義で付けた名前を入力する。

プルダウンリスト7.png


8. 完了
プルダウンリスト8.png