- ベストアンサー
エクセルマクロによるセルのコピーと改行コードの削除方法
- エクセルマクロを使用して、選択したセルをコピーするときに改行コードを削除する方法を知りたいです。
- VBEで記述したコードを使用して、テキストエディタにコピーした値に改行コードが入ってしまいます。
- エクセルでダブルクリックをしたときに、改行コードのないようにセルをコピーする方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
セル内改行を削除して貼り付けたいなら、こんなところでいかがでしょうか。使用上の注意は参考URLをご覧下さい。Microsoft Forms 2.0 Object Libraryに参照設定要です。簡便にはUserformを挿入後、解放してしまえば、参照設定は残ります。 'http://officetanaka.net/excel/vba/tips/tips20.htm Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim buf As String, CB As New DataObject buf = Target.Value buf = Replace(buf, vbLf, "") With CB .SetText buf .PutInClipboard End With End Sub
その他の回答 (1)
- DOUGLAS_
- ベストアンサー率74% (397/534)
参考URL は「クリップボードとデータのやりとりをする」です。 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, _ Cancel As Boolean) Dim TempObject As MSForms.DataObject Target.Interior.ColorIndex = 37 Cancel = True Set TempObject = New MSForms.DataObject With TempObject .SetText Target.Value .PutInClipboard End With Set TempObject = Nothing End Sub
お礼
ありがとうございました。 DataObjectは便利ですね。
お礼
ありがとうございました。 最初、DataObjectでエラーがでましたが、下記URLをみて「Microsoft Forms 2.0 Object Library」を導入して解決できました。 http://www.moug.net/tech/acvba/0020034.htm >isual Basic Editorのメニューから[ツール]→[参照設定]コマンドを選択し[参照設定]ダイアログボックスで「Microsoft Forms 2.0 Object Library」にチェックを入れて、[OK]ボタンをクリックし、参照設定を行います。「参照可能なライブラリ ファイル」のリストにない場合は、[参照設定]ダイアログボックスで[参照]ボタンをクリックして「C:\WINNT(または Windows)\system32\FM20.DLL」を選択します。