- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excelでセル内の文字列のみをコピーする方法)
Excelでセル内の文字列のみをコピーする方法
このQ&Aのポイント
- Excelでセル内の文字列のみをクリップボードにコピーする方法を教えてください。
- 一つのセルに複数の文字列が入っている場合、クリップボードにコピーすると特定の文字が含まれてしまいます。その文字を除いて文字列のみを取得したいです。
- セルの編集状態やアクティブセルの数式バーを使った方法は複数のセルを同時に選択する場合には使えません。VBAを使っても良いです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ダブルクォート「"」で囲まれてますね。 何に使うのか、どうやってクリップボードを覗いてるのか分かりませんが・・・。使っているソフト(?)の仕様なのでは? > セルを編集状態にしてコピー の場合も "123" とか """abc""" になりませんか? 以下、変わらないかもですが ------ ◆(一応) VBAで値のみ「コピー」する方法 VBAだと、DataObjectで、クリップボード操作ができます。 DataObjectは、ライブラリ「Microsoft Forms」が必要。 エラーになった場合は、ライブラリがないです。たぶん、参照の一覧にも載ってないので、以下の方法どちらかで発掘してください。 ・ユーザフォームを追加(すぐ削除してOK) ・ファイル指定で参照: C:\Windows\System32\FM20.dll '選択セルを値のみコピー Sub OnakaSuita() Dim cb As New DataObject For Each s In Selection buf = buf & s & vbCrLf Next cb.SetText buf cb.PutInClipboard End Sub
その他の回答 (1)
- ap_2
- ベストアンサー率64% (70/109)
回答No.2
>>ANo.1 ああ、「一つのセルに」でしたね。見落としました。 僕も経験してました・・・ 当時は、Excelに複数行いれちゃダメだ、って結論に。 次あったら、VBAつかおうかな(^^;
質問者
お礼
そうですか。経験されていましたか。 よくありそうな問題なのに解決法を示しているサイトが見つからなかったので少し困っていました。 助かりました。ありがとうございました。
お礼
教えていただいたコードで目的の動作(余分なダブルクォーテーションのつかない見た目どおりの文字列を得ること)になりました。 参考になりました。ありがとうございました。
補足
> 何に使うのか、どうやってクリップボードを覗いてるのか分かりませんが・・・。 クリップボードビューアでみても、 単純にテキストエディタに貼り付けても確認できます。 > "123" とか """abc""" になりませんか? 「セルを編集状態にしてコピー」した場合には 見えている文字列以上に余分にダブルクォーテーションが 付加されるということはありませんでしたよ。