エクセルのマクロについて教えていただきたいです。
私は、下記に記載しているような、あるセルをダブルクリックするとそこに他のセルの内容を一部引用して
文章を作成し、そのセルをコピー状態(Ctrl+C)にするというマクロを作成しています。
下記のマクロでも動くのですが、実際はもっと長い文章になってしまうので、エクセルがとても大きなサイズに
なってしまいます。
そこで、セルをダブルクリックすると下記と同じように文章を作成し、それをクリップボードへ格納し、セルには
表示しない方法はないかと考えております。
どなたか、いい方法をご教授お願いいたします。
※文章が下手で申し訳ございません・・・
☆まとめ
~現在のマクロ~
(1)Y列で8行目以上をダブルクリック
(2)ダブルクリックしたセルにマクロで文章を記入
(3)(2)のセルをコピー状態(Ctrl+C)にする
(4)Ctrl+Vで(2)のセルの内容を掲示板などに貼り付け可能
~希望マクロ~
(1)Y列で8行目以上をダブルクリック
(2)ダブルクリックしたセルには何も入れず、クリップボードへ文章を格納
(3)Ctrl+Vで(2)のセルの内容を掲示板などに貼り付け可能
☆現在のマクロ
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim r As Long '変数宣言
If Target.Column = 25 And Target.Row > 7 Then 'ターゲットが25列目(Y列)で8行目以上
r = Target.Row 'ターゲットの行番号を取得し変数rに代入
Target = Range("Q" & r) & "さま" _
& Chr(&HD) & Chr(&HD) & "商品の発送が完了致しましたので、ご連絡致します。" _
& Chr(&HD) & Chr(&HD) & "発送情報は以下となります。" _
& Chr(&HA) & "----------------------" _
& Chr(&HA) & "日付指定:" & Range("U" & r) _
& Chr(&HA) & "時間指定:" & Range("V" & r) _
& Chr(&HA) & "問い合せNo:" & Range("W" & r) _
& Chr(&HA) & "----------------------" _
Cancel = True 'ダブルクリック状態をキャンセル
Target.Copy 'ターゲットをコピー
Else
Exit Sub
No.2ベストアンサー
- 回答日時:
他の質問か、同一人か判らないが、数日前の質問で、現データはエクセルシートでも、最終完成文章をCSVファイルを作成するのはどうかと示唆した。
そういうのはどうか。ーーー
質問の表現が質問者の(多分我流の)VBAコード中心で、読者には推測や解読が大変。
簡単な(とは5行・数列ぐらいの実例と言う意味)模擬実例(需要な特徴は保存しつつ)を質問に載せて、虚心になって、処理ロジックや使う道具立て(この例ではクリップボード利用)、コーディングは回答者の経験や叡智に任せるのはどうか。質問者が自分の深くない経験からの思いつきの路線(クリップボード)に拘り、その延長線で、自分のコードを修正指摘してくれというのが多いが、本当の勉強にならない。
いままで回答者は、質問者の路線に易々と応じて、回答している例が多いが。
No.1
- 回答日時:
VBEの参照設定から「Microsoft Forms 2.0 Object Library」を参照するよう設定します。
(バージョンは違うかもしれません)その上で下記のように変更すればうまくいくと思います。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim r As Long '変数宣言
'データオブジェクトの浅間
Dim myDO As MSForms.DataObject
Dim st As String
Set myDO = New MSForms.DataObject
If Target.Column = 25 And Target.Row > 7 Then 'ターゲットが25列目(Y列)で8行目以上
r = Target.Row 'ターゲットの行番号を取得し変数rに代入
'stに文字列を格納します
st = Range("Q" & r) & "さま" _
& Chr(&HD) & Chr(&HD) & "商品の発送が完了致しましたので、ご連絡致します。" _
& Chr(&HD) & Chr(&HD) & "発送情報は以下となります。" _
& Chr(&HA) & "----------------------" _
& Chr(&HA) & "日付指定:" & Range("U" & r) _
& Chr(&HA) & "時間指定:" & Range("V" & r) _
& Chr(&HA) & "問い合せNo:" & Range("W" & r) _
& Chr(&HA) & "----------------------" _
Cancel = True 'ダブルクリック状態をキャンセル
'文字列stをクリップボードに送信します。
With myDO
.SetText st
.PutInClipboard
End With
Set myDO = Nothing
Else
Exit Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excelにて、シート1の行を削除するとシート2のシート1と同じ番号の行も削除したい 3 2022/05/08 04:24
- Visual Basic(VBA) エクセルVBA ダブルクリックしたら色反転を指定したセルのみにしたい 2 2022/04/06 12:52
- Excel(エクセル) Excel2019 マクロを使用し画像を貼り付けした際のリンク切れについて 2 2022/11/15 16:14
- Visual Basic(VBA) エクセルのVBAでダブルクリックでチェックを入れたあと 1 2022/10/26 20:30
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Excel(エクセル) エクセルの自動更新のタイミングについて 1 2022/07/20 16:12
- Visual Basic(VBA) エクセル VBAについて 2 2022/05/16 16:33
- PowerPoint(パワーポイント) ExcelのVBAコードについて教えてください。 3 2022/05/25 14:32
- Excel(エクセル) エクセルのイベントプロシージャーでF列の最終行のセルの入力をトリガーにしたいのですが 1 2022/10/14 09:36
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
エクセル 数字をすべて○などの...
-
太字に設定されているセルの個...
-
Excelで挿入した図をセルの中央...
-
現在のセルの位置を返す関数は...
-
Excel内での検索結果をシート...
-
Excelでセルをクリックす...
-
エクセルでPDFリンクを大量...
-
フォントの色を指定して削除出...
-
クリックすると文章が表示され...
-
Excel ハイパーリンクのURLを別...
-
Excelで、図形内の文字をセルに...
-
セルがクリックされた回数をカ...
-
excelで セルの移動時に...
-
エクセルでの検索ボックスの作...
-
EXCELのセルや文字色の反映
-
エクセルでページ数をあるセル...
-
エクセル シート保護された共...
-
マクロを実行すると画像がズレ...
-
エクセルマクロ 赤色の文字を検...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
エクセル 数字をすべて○などの...
-
Excel内での検索結果をシート...
-
クリックすると文章が表示され...
-
Excelでセルをクリックす...
-
マクロを実行すると画像がズレ...
-
太字に設定されているセルの個...
-
Excelで、図形内の文字をセルに...
-
Excelで挿入した図をセルの中央...
-
フォントの色を指定して削除出...
-
Excel ハイパーリンクのURLを別...
-
エクセルでPDFリンクを大量...
-
エクセル 未入力セルがあると...
-
現在のセルの位置を返す関数は...
-
VBA 見つからなかった時の処理
-
EXCELのセルや文字色の反映
-
【EXCEL】先週の月曜日の日付を...
-
セルの値が変ると自動でマクロ...
-
エクセルでセルをダブルクリッ...
-
アポストロフィーの一括挿入 ...
おすすめ情報