人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセルのマクロ(たぶん)についての質問です。
自分の使っているエクセルシートにはA列?F列まで上から下まで1000行程度使って色々なデータがあります。
この中でF列は上から下まで
【詳細について】 :::【ご注文について】
という文章が載ってます。自分がやりたいのは他の色々なサイトからコピー&テイストしてきた
文章をこの :::の部分に1行ごとに貼り付けたいのですが通常の動作であればまず?F列にカーソルを
あわせて?マウスをダブルクリックして?:::の部分までカーソルを移動させ?貼り付ける。
という風になるのですが大変手間なので省略して?F列にカーソルをあわせる?自動的に:::の
部分にカーソルが合わさり?そのままエンターキーを押せば貼り付けできる
というように簡略化したいのですが操作を教えて下さい。



●質問者: fancri
●カテゴリ:コンピュータ インターネット
✍キーワード:エクセル エンタ カーソル キー コピー
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● kn1967
●350ポイント ベストアンサー

(準備作業)

・Excelで ツール → マクロ → VisualBasicEditer

・VisualBasicEditerで ツール → 参照設定

・参照設定で Microsoft Forms 2.0 Object Library にチェックを入れる。


(マクロ作成)

(1)とりあえず空のマクロ作成

・Excelで ツール → マクロ → 新しいマクロの記録

・マクロの記録は とりあえず何も変更せずにOKをクリック

・Excelで A1をクリック → 記録終了をクリック

(記録終了のボタンが見当たらない場合は、ツール → マクロ → 記録終了)

(2)編集作業

・Excelで ツール → マクロ → VisualBasicEditer

・VisualBasicEditer左側にて 標準モジュール → Module1 を選択

Sub Macro1()
' Macro1 Macro
' マクロ記録日 : 2009/10/31 ユーザー名 :
Range("A1").Select
End Sub

といったものが右に出てくるので、以下に書き換え

Sub Macro1()
 Dim c As Variant, d As New DataObject, t As String
 c = Application.ClipboardFormats
 If c(1) = xlClipboardFormatText Then
 d.GetFromClipboard
 Cells(ActiveCell.Row, 6).Value = Replace(Cells(ActiveCell.Row, 6).Value, " :::", d.GetText)
 Else
 MsgBox ("クリップボードの内容が文字ではないので貼り付け出来ません")
 End If
End Sub

(3)動作確認

・一旦、Excel画面に戻って、いつもどおりA列に記入し、

書籍検索も行い、コピーまでを実行する。

・VisualBasicEditorの画面に戻って、先ほどのマクロ内のどこかをクリックしておいてから、

実行 → Sub/ユーザーフォームの実行(ツールバーにもあるので、それをクリックでもOK)

・Excel画面に戻って、貼り付けが正しく行われているかをチェック。

上記マクロは実行テストを行ったものを貼り付けていますので、動かないとすれば、

F列の:::が実は半角文字だったといった具合に、どこかが微妙に違うため、

置換されなかったということになりますので、よくご確認ください。


(マクロ登録) Ctrl + V で動くようにしたい場合

Excelで ツール → マクロ → マクロ

マクロのダイアログで Macro1を選択 → オプション

マクロオプションダイアログで V を入力

※これによってCtrl+Vという貼り付け動作がマクロ動作に切り替わりますが、

それは、このファイルだけです。他のファイルでは通常通りの動作となります。


(補足)

・このマクロではカーソルは移動せず、F列の内容だけが書き換わるように作ってます。

・Excelに切り替えて、Ctrl+V で F列の内容が変わるように作ってますので、

別質問 question:1256930412 のような作業は不要になります。

・間違った操作をする度にメッセージが出るのが煩わしいという場合は、

MsgBoxの行を削除するなり、コメントアウトするなりします。

・画像などは貼り付けられない仕様にしています。

画像貼り付けなどを希望する場合は、IF判定の部分を適宜改造することになります。

その際には [XL95] 組込み定数一覧 (1/3) などが参考になることでしょう。

◎質問者からの返答

すごすぎます。ちょっとやってみますのでお待ち下さい。あとでコメントでお答えします。

あと皆様、コメントは回答前でもどんどんして頂ければ幸いですので宜しくお願いします。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ