エクセルのダブルクォーテーションには悩まされる場合があります。
文字列内に追加したり、両端を囲ったり。
逆に不要で削除したい場合もあります。こんな経験はないでしょうか。
セルをコピーしてテキストエディタ(メモ帳等)に貼付した際に、
値が””(ダブルクォーテーション)で囲まれたことを。
原因はセル内改行vbLFが存在した場合、セルをダブルクォーテーションで囲んでしまいます。
改行を含んだ文字列コピー時、ダブルクォーテーションで囲まれないようにするコード
単純にエクセル経由でクリップボードに格納するのではなく、マクロから直接クリップボードに格納します。
'■改行があってもダブルクォーテーションで囲まず文字列をコピーする Public Function sample() With CreateObject("Forms.TextBox.1") .MultiLine = True .Text = ActiveCell .SelStart = 0 .SelLength = .TextLength .Copy End With End Function
注意点
- 上記コードはキーボードに割り当てる事が多いかと思います。(ショートカットキー)
- ショートカットの概念はこちらの記事を参考にしてください。
- 動かない場合は参照設定がされていない為、こちらの記事を参考にしてください。
コメント