![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
初めてお世話になります。
Excel2007のマクロについて質問です。
【元ファイル】
1行目:見出し1
2行目:http://yahoo.com/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa …
1行目:見出し2
2行目:http://google.com/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa …
1行目:見出し3
2行目:http://oshiete.com/aaaaaaaaaaaaaaaaaaaaaaaaaaaaa …
1行目:見出し4
2行目:http://yahoo.co.jp/oshiete/aaaaaaaaaaaaaaaaaaaaa …
1行目:見出し5
2行目:http://google.com/aaa/oshiete.aaaaaaaaaaaaaaaaaa …
上記のような形式の数十行のテキストファイル
(アウトルックのメール本文からメモ帳などに張り付けを想定)が素材です。
【ご質問】
上記のような2行ごとのテキストの中から「oshiete」を含むURLのみを
エクセルのG列、その直上の見出しをエクセルのF列に書き込んでいきたいのですが、
どのようなマクロを書けばよろしいでしょうか。
特徴としてはURL部分がかなり長いです。可変ですが、半角で130~140文字くらいあります。
途中切れなどがないようにしたいと考えております。
この作業は日次で繰り返し、excelファイルは1週間単位で新しいものを作成します。
可能であれば、B列あたりに 書き込み日時(yyyy/mm/dd)も持たせられれば最高です。。
excelの関数や操作などはそこそこ理解できるのですが、マクロは全くの初心者です。
詳しい方にご教示いただければ大変うれしく思います。
よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
「すぐに回答ほしいです」になってる質問に、ほんとにすぐ回答しても、一週間も放置されたら、普通はそんな質問はもう見に行きませんよ。
だから、上手くいかなかったという書き込みも今やっと知りました。
余計なことを書きましたが、それはさておき、最後にSheet3が表示されるのは、それが最後のシートなんでしょ?そのシートの後に作業用のシートを挿入し、そこにテキストを読み込んで作業し、終了後にその最後シートを削除したから、残った最後のSheet3が現れたわけです。
コードの最後を
途中略
Application.DisplayAlerts = False
ws.Delete
Application.DisplayAlerts = True
Sheets("Sheet1").Activate
End Sub
にすれば防げますが、問題は書き込まれる先のSheet1が空白のままだということですね?
マクロを実行すると書き込むような動作が見えるとのことですので、TXTファイルからの読み込みはできているはずだと思います。そうなると、残る原因は、対象としたTXTファイルの中に"oshiete"という文言が入ってなかったことぐらいしか考えられません。
多分、質問の"oshiete"は仮の言葉で、本当は違う単語だと思いますが、その単語にVBAのコードを修正するとき、ミスタイプしてませんか?
できました!ありがとうございました。
確認したところ"oshiete"に該当する部分が、当方が不在の間に変更になっていました。
文言を書き換えたらできました。
おっしゃるとおりで、突然同僚の代わりに出張になってしまい、
お返事が遅れてしまいました。
大変申し訳ありませんでした。
本当に助かりました。ありがとうございました。
No.1
- 回答日時:
以下のような、拡張子.txtのテキストファイル(memo帳)から「oshiete」を含むURLのみを取り込む一例です。
取り込み先は、このマクロを記述したBOOKのSheet1です。
見出し1
http://yahoo.com/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa …
見出し2
http://google.com/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa …
見出し3
http://oshiete.com/aaaaaaaaaaaaaaaaaaaaaaaaaaaaa …
見出し4
http://yahoo.co.jp/oshiete/aaaaaaaaaaaaaaaaaaaaa …
見出し5
http://google.com/aaa/oshiete.aaaaaaaaaaaaaaaaaa …
Sub test01()
Dim myFn
Dim x As Long, i As Long
Dim myC As Range
Dim ws As Worksheet
myFn = Application.GetOpenFilename(FileFilter:="TXTファイル(*.txt),*.txt", Title:="TXTファイルを選択してください。")
If myFn = False Then
MsgBox "きゃんせる", , "Σ( ̄ロ ̄lll) "
End
End If
Set ws = Sheets.Add(After:=Sheets(Sheets.Count))
With ws.QueryTables.Add(Connection:="TEXT;" & myFn, Destination:=ws.Range("A1"))
.TextFileColumnDataTypes = Array(2)
.Refresh BackgroundQuery:=False
For Each myC In .ResultRange
If InStr(myC.Value, "oshiete") > 0 Then
i = i + 1
Sheets("Sheet1").Cells(i, "G").Value = myC.Value
Sheets("Sheet1").Cells(i, "F").Value = myC.Offset(-1).Value
Sheets("Sheet1").Cells(i, "B").Value = Format(Now, "yyyy/mm/dd hh:mm:ss")
End If
Next myC
End With
Application.DisplayAlerts = False
ws.Delete
Application.DisplayAlerts = True
End Sub
ありがとうございます!
お返事が遅くなってしまい、申し訳ありません。
こんなにすぐ回答いただけるなんてびっくりしました。
さて、エクセル2007でマクロを実行してみたのですが、うまく書き込みが
できませんでした。
sheet1の状態でマクロを実行するとURLを書き込むような動作が
走っているように見えるのですが、最後はsheet3を開いた状態で
終了してしまいます。シートは全て空白の状態です。
もしかしたら当方の設定か何かでしょうか。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) ¥マークを含むパスの処理について(マクロ、または関数) 2 2022/12/25 02:11
- Excel(エクセル) Excel VBA 3 2023/04/22 10:46
- Visual Basic(VBA) VBA。複数のChangeイベントをまとめる方法 2 2022/03/31 12:03
- JavaScript JavaScript?jQuery?で書き方を教えてください。 初心者です。 AAAという要素をステ 2 2023/08/04 22:09
- Perl perl このテキストファイルを簡単に配列に入れるには? 2 2022/04/27 20:24
- Excel(エクセル) Powershell エクセル検索 完全一致の方法 1 2022/06/05 20:19
- 工学 Pythonの3次元描画に関する質問です 3 2022/12/07 20:07
- SQL Server ACCESSで3ファイルを結合して、表を作成するやり方を教えて下さい。 17 2022/08/15 20:34
- JavaScript 指定したパスが現URLに含まれていたら特定要素を削除するJavascriptのコードを教えてください 2 2023/04/27 17:58
- 邦楽 AAA 3 2023/05/04 07:09
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルにて、右から最初のス...
-
Excelで曜日を表示させると、「...
-
ディレクトリを区切るダブルス...
-
PC初心者で質問内容がむちゃく...
-
ベストアンサー100個でaaaにな...
-
エクセルの日付から曜日を求め...
-
excel2007マクロで特定URLを抽...
-
ダンスの立ち位置がいつも端
-
たらたらたらたーたらたらたら...
-
和を乱す or 輪を乱す
-
寝バックした時奥まで入りませ...
-
私は女子大生です。裸を見せた...
-
ダンスの位置がいつも1番後ろの列
-
ダンス動画の反転バージョンと...
-
バレエの男性のもっこりは
-
韓国の曲だと思います。曲名と...
-
曲名が知りたいです!! とぅと...
-
バレエ教室を辞めさせられました
-
レッド・ツェッペリン
-
真珠夫人の最終回を見逃してし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで曜日を表示させると、「...
-
エクセルにて、右から最初のス...
-
ディレクトリを区切るダブルス...
-
OS 10.4/ 保存先のパスを指定す...
-
Excel2003で日付と曜日を連続作...
-
変数の宣言について
-
ACCESSのフォーム上に連番番号...
-
アゲハチョウの待ち受け
-
Google Appsを利用しつつ複数サ...
-
EXCEL VBA split関数について
-
ロンダートをマスターしたい
-
wwwありとwwwなし・・・どうす...
-
バク転の恐怖心
-
ファミリーマートのaaa一番くじ...
-
寝バックした時奥まで入りませ...
-
TMN宇都宮隆さんの声がEXPO以降...
-
和を乱す or 輪を乱す
-
ダンスの立ち位置がいつも端
-
たらたらたらたーたらたらたら...
-
真珠夫人の最終回を見逃してし...
おすすめ情報