[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『メール本文をコピー貼り付けしたときの<“>』(日奈子)
エクセル初心者です。
今やっている仕事で、とても手間がかかることがあり少しでも
解消できないかとご相談させていただきます。
エクセルのD列に送る本文が300行入っています。
B列とC列にはどの様な場面で使うかの説明が入っています。
D列には一つのセルに10から50行ほどのデータが入っています。
本文の中の宛先のところは[KAISYA]と[名前]とデータが入っていて
必要なセルをコピーしてメール本文に貼り付けて書き換えています。
ここで困っているのが、毎回最初と最後に<”>が入って消すことです。
地味に面倒なのですが解消方法が分かりません。
どなたかご教授いただけないでしょうか?
< 使用 Excel:unknown、使用 OS:Windows10 >
>ここで困っているのが、毎回最初と最後に<”>が入って消すことです。
ちょっと分からないです。 こう言うことですか? ↓ 「先頭と末尾にダブルクォーテーションが入っているので、毎回、それを消すことです。」
それ以外は、一つのDセルに入っている文章を全部貼り付けるんですか?
(半平太) 2021/07/01(木) 23:12
よろしくお願いします。
(日奈子) 2021/07/01(木) 23:16
当該シートの「シート見出し」を右クリックして、「コードの表示(V)」を選ぶ。
すると、画面中央に白いエリアが出ます。(VBE画面と呼ばれています。) そこに後記マクロコードを貼り付けてください。
コードを貼り付けたら下記WEBページの説明に従って 「Microsoft Forms 2.0 Object Library」を参照設定してください。 https://www.moug.net/tech/exvba/0150091.html 【クリップボードとデータのやりとりをする】
以上が完了したら、Alt+F11でエクセルに戻ってください。
以後、 1.目的のDセルを右クリックする。 (自動的にダブルクォーテーションが外れたデータがクリップボードに格納されます)
2.メール本文の所に行って、貼付け(Ctrl+V)としてみてください。
’貼り付けるマクロ ’ ↓ Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) Dim buf
If Target.CountLarge = 1 Then If Target.Column = 4 Then Cancel = True buf = Target.Value
If StrConv(Left(buf, 1), vbNarrow) = """" Then buf = Right(buf, Len(buf) - 1) End If
If StrConv(Right(buf, 1), vbNarrow) = """" Then buf = Left(buf, Len(buf) - 1) End If
With New MSForms.DataObject .SetText buf '変数の値をDataObjectに格納する .PutInClipboard 'DataObjectのデータをクリップボードに格納する End With
End If End If End Sub
(半平太) 2021/07/02(金) 00:03
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.