マクロ・VBA初心者です。
マクロ・VBAを使って、下記の作業を実現することはできますか?
(WinXP SP3/Office2007)
現状:
あるアプリの画面に表示されている文字列を一つ一つコピペして、
メールのテンプレートに張り付けて送信している
同じような作業を一日に何度も行うので、非常に時間と手間がかかる
希望:
コピペ一発でメール送信できる状態にしたい
詳細:
1 クリップボード上にある複数の文字列から必要な部分だけを抜き出す
2 抜き出した文字列を任意の場所に貼り付け
例:
【コピペした文字列】
Notepadに貼り付けるとこのような情報がコピペされています。
Date 5/27/11 Time 16:30
Name SAMPLEA SECURITIES CO., LTD. Contact Sample Taro
Address 1-2-3 CHUO CHUO-KU Phone 81-3-1234-5678
SAMPLE BLDG.
City TOKYO StTK Zp1234567
Country J Japan Floor:1F Dept:TEST
【抜き出したい文字列】
日時に対応する部分
氏名に対応する部分
会社名に対応する部分
住所に対応する部分
階数に対応する部分
部署に対応する部分
連絡先に対応する部分
【抜き出した文字列を対応する箇所に張り付ける】
※最終的には下記の内容をメールで送信したい。
日時:
氏名:
会社名:
住所:
階数:
部署:
連絡先:
どのようにしたら良いか手順を追って説明頂けると大変助かります。
どうぞ宜しくお願いします。
No.1ベストアンサー
- 回答日時:
作成例1:
下記のような手順でダイレクトに「丸ごと」を取得できます。
http://officetanaka.net/excel/vba/tips/tips20.htm
取得したら,あとは文字列操作を頑張って必要なデータを切り出していく手順になります。
作成例2:
で。実際にはクリップボードからわざわざ変数に受けるより
1.セルにそのまま貼り付ける
2.worksheet_changeイベントで各行のデータを順繰り自動処理させる
3.上述で検討した文字列操作の処理により,必要なデータを切り出して「所定のセル」に書き出していく
という段取りの方が,簡単なマクロで作成できます。
worksheet_changeイベントについて聞いたこともありませんという事なら
http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/v …
などで勉強してみてください。
いずれの作成例にしても,今回のお仕事でコアになるのは「所定の文字列を見つけて切り出していく」手順です。
アイデアは様々考えつくと思いますので,どれでも思いついた方法でまずチャレンジしてみてください。
その上で困ってしまったときは,「こういうアプローチを試みたいと思ったんだけどここが判らなくて/実際にこうやってみたらこういう具合にうまく行かない結果になってしまい,行き詰まりました」の部分を明確にして,改めてスポットでご質問を投稿なさってみてください。
keithinさん
早速の回答ありがとうございます。
まずは、頂いたリンクを元に自分で試行錯誤してみます。
また、不明な点があれば質問させて頂きます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 以下のVBAで該当文字列の前後に付与したい。 例 前に付与 abc ユーザーID 12345 後に付 3 2022/04/19 21:50
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) VBAにてメール作成した際、一部指定箇所のみ赤文字にしたいです。 下記の内容ですと作成されたメール本 1 2022/04/27 13:31
- Visual Basic(VBA) 【困っています2】VBA 追加処理の記述を教えてください。 2 2022/08/26 11:42
- Excel(エクセル) シートが違う2枚のエクセルシートにある数値を別シートにコピーしたい(VBA?) 8 2022/03/31 12:24
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) If関数に関する質問です。(再掲) 3 2022/10/01 20:51
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Visual Basic(VBA) Excel(VBA) 特定の条件に該当する行の値、書式を同じセルにコピ&ペーストしたいです 1 2022/05/21 18:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでアルファベットか数...
-
EXCELで=より左の文字を一括で...
-
VBAでの Replace関数で、ワイル...
-
Excelで指数表現しないようにす...
-
MS SQLServer のSQLで文字列の...
-
文字列からタブコードを取り除...
-
【Excel VBA】複数ある特定の文...
-
Excelで3E8を3.00E+8にしない方...
-
エクセルでSQLでいうところの「...
-
エクセル 数値データを桁をそ...
-
CStringの文字列検索&抜き出し...
-
vbsからバッチファイル実行時の...
-
アクセスで特定の数字以外(複...
-
テキストエディタで複数行にわ...
-
Left関数とRight関数を合わせた...
-
エクセルでセル内の文字列の最...
-
VBA2005 16進を2桁で表示したい。
-
エクセルで文字列の最大値を抽...
-
NULLの定義について
-
16進数を10進数に簡単に変換す...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでアルファベットか数...
-
EXCELで=より左の文字を一括で...
-
VBAでの Replace関数で、ワイル...
-
Excelで指数表現しないようにす...
-
文字列からタブコードを取り除...
-
Excelで3E8を3.00E+8にしない方...
-
エクセルで文字列をtxtファイル...
-
エクセルで文字列の最大値を抽...
-
VBA2005 16進を2桁で表示したい。
-
同一セル内に関数と文字列を同...
-
Left関数とRight関数を合わせた...
-
VBの「As String * 128」とは?
-
Msgboxの×が押されたとき
-
【Excel VBA】複数ある特定の文...
-
MS SQLServer のSQLで文字列の...
-
アクセスで特定の数字以外(複...
-
エクセルでセル内の文字列の最...
-
ORCLEでの小数の表示方法の変更...
-
変数内に入った文字列の結合 UWSC
-
エクセル 数値データを桁をそ...
おすすめ情報