文字列が含まれたセルをコピーして、ブラウザ内にある検索窓に貼り付けると末尾にスペースが2つ入ってしまいます。

セル内にはスペースが入っていないので、スペースを削除してから貼り付けるということが出来ません。

VBAを使用して文字列のみをコピーすることは可能でしょうか。セル内の文字列に規則性はありません。

よろしくお願いします。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2012/11/12 14:21:36
  • 終了:2012/11/12 15:20:14

ベストアンサー

id:kseikaku No.2

kseikaku回答回数48ベストアンサー獲得回数162012/11/12 14:57:52

私も普通にやった場合、空白は入りません。

とりあえず、セルから空白を取り除いた形で、クリップボードにアクティブセルの内容テキストから前後のスペースをのぞいたものをコピーする関数を作りました。

エクセルのVBAエディタを開き、以下の関数をペーストして下さい。

ツール>参照設定で「Microsoft Forms 2.0 object library」を利用する(チェックを入れる)設定にして、実行してください。

Sub trimcopy()

Dim CB As New dataobject


org_text = ActiveCell.Value

With CB
.settext Trim(org_text)
.PutInClipboard
End With


End Sub


いちいち、マクロ画面から起動するのは大変だと思うので、最終的にはショートカットキーを割り当てれば良いと思います。

id:hanpaku

kseikakuさん

こちらのコードで万事うまくいきました。非常に助かりました。
コードを読み解き、吸収していけたらと思います。ありがとうございました。

2012/11/12 15:20:10

その他の回答(1件)

id:taknt No.1

きゃづみぃ回答回数13538ベストアンサー獲得回数11982012/11/12 14:48:31

普通にやっても空白が入るのでしょうか?

VBA ならsendkeysを使ってバックスペースを送り削除するという手段もあるでしょう。

id:hanpaku

takntさん
参考になるご意見をありがとうございます。分からないことばかりで、勉強になります。

2012/11/12 15:19:10
id:kseikaku No.2

kseikaku回答回数48ベストアンサー獲得回数162012/11/12 14:57:52ここでベストアンサー

私も普通にやった場合、空白は入りません。

とりあえず、セルから空白を取り除いた形で、クリップボードにアクティブセルの内容テキストから前後のスペースをのぞいたものをコピーする関数を作りました。

エクセルのVBAエディタを開き、以下の関数をペーストして下さい。

ツール>参照設定で「Microsoft Forms 2.0 object library」を利用する(チェックを入れる)設定にして、実行してください。

Sub trimcopy()

Dim CB As New dataobject


org_text = ActiveCell.Value

With CB
.settext Trim(org_text)
.PutInClipboard
End With


End Sub


いちいち、マクロ画面から起動するのは大変だと思うので、最終的にはショートカットキーを割り当てれば良いと思います。

id:hanpaku

kseikakuさん

こちらのコードで万事うまくいきました。非常に助かりました。
コードを読み解き、吸収していけたらと思います。ありがとうございました。

2012/11/12 15:20:10

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません