Excel VBA 質問スレ Part33
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2013/10/17(木) 22:04:40.64___
___ /____ヽ ____
/____\ | |´・ω・`| | /___ヽ
.l |´・ω・`| ニX二 . ̄ ̄ ̄ 二X二 |´・ω・`| l 俺たちに任せろ
!、 ̄ ̄ ̄ ヽ | | /  ̄ ̄ ̄/
ヽ_/ヽ、 ヽ__) \__/\_/. /_/ ノヽ_/
 ̄  ̄ ̄
前スレ
Excel VBA 質問スレ Part32
http://toro.2ch.net/test/read.cgi/tech/1381151717/
このスレはコード書き込みOKです。
作成依頼もOKですが、作成依頼限定ではありません。
コードが嫌な人はこちらのスレへ
http://toro.2ch.net/test/read.cgi/tech/1381151995/l50
0263デフォルトの名無しさん
2014/02/09(日) 05:10:14.13昔のアセンブラなんかは掛算や割算も自前でロジックを組まなければならない時も
あったけど、今そんなの嫌でしょ?
例えば配列の中の値をソートしたいとして、それが出来るメソッドが最初から有ったとき、
わざわざ自前で作る必要はないよね?
そのロジックの仕組みを知ってて使うのと、知らないで使うのも違うけど、
そのロジックの仕組みを知ってても、そう言った便利機能を使えるのと使えないのではやっぱり違うよ。
0264デフォルトの名無しさん
2014/02/09(日) 10:56:14.31> 継承とかできないとかクソとか言ってる奴
と
> 出来ないなら出来ないなりに使いこなせる奴
は、別に排他じゃないだろ。
バカなの?
0265デフォルトの名無しさん
2014/02/09(日) 10:58:13.72組込機能頼りってのも、良いことばかりではないけどね
例えば
数値の1〜3と、英大文字のA〜Cと、英小文字のa〜cをソートした場合、Excelの並べ替えだと
「1,2,3,a,A,b,B,c,C」だが、
「1,2,3,A,B,C,a,b,c」にしたい場合や
「A,B,C,a,b,c,1,2,3」にしたい場合や
「1,2,3,a,b,c,A,B,C」にしたい場合とかもある
また数値だと
「7,8,9,40,50,60,100,200,300」だが、文字列数字だと
「100,200,300,40,50,60,7,8,9」になるので、文字列でも数値への変換無しに、
数値と同じ並べ替えをしたい場合や、逆に数値を文字列数字の順にしたい場合もある
便利なモノほど利用者をバカにすると言われてるわけで、
もちろん便利じゃないものを使いこなせる能力を持った上で、
便利なものを有効活用して工数を減らすのは良いが
便利なものに頼りきりになってしまうのも、問題と言えば問題だな
0266デフォルトの名無しさん
2014/02/09(日) 13:59:41.61大体は同意だけど、
>便利なモノほど利用者をバカにすると言われてるわけで、
これは少し違うと思う。
便利なものが有った場合、今度はそれをいかに有効活用するかということと、
自分で考えて作った方がいいかの選択肢が出てくる。
上のような例の場合、本来の項目を変えずに別項目を作って、
そこに前0で埋めたり、大文字変換した値を用意してソートすれば事足りる。
それもダメだというならそう言うLinqとラムダ式で組めばいい。
視点が変わるのと、出来ることが増えることによって夢がひろがりんぐになるわけだ。
0267デフォルトの名無しさん
2014/02/09(日) 14:13:43.520268デフォルトの名無しさん
2014/02/09(日) 19:53:17.21理解しろ
0269デフォルトの名無しさん
2014/02/10(月) 00:39:22.03そう思うんなら中間言語使って頭鍛えなよ。
そんなのの成り立ち一々全部理解しなきゃいけないなら
VBAでだってまともに組めないよ。
0270デフォルトの名無しさん
2014/02/10(月) 10:47:10.65便利なものが人をバカにするんじゃなくて
便利なものに頼りきる人はもともとバカだっただけ
0271デフォルトの名無しさん
2014/02/10(月) 15:31:20.21それはExcelのソートのインターフェースが糞なだけ。
まともな言語ならラムダ式とかで比較を書ける。
クイックソートとかをいちいち真面目に実装するのは面倒だろ。
0272デフォルトの名無しさん
2014/02/10(月) 17:52:51.320273デフォルトの名無しさん
2014/02/10(月) 21:17:25.11Javaってラムダ式あったっけ?
0274デフォルトの名無しさん
2014/02/10(月) 22:12:34.15Java8で導入とか何とか。
0275デフォルトの名無しさん
2014/02/10(月) 22:59:24.35Basicと言う観点から見れば仕様が固まるなんてことはないよ。
時代に合わせてる常に仕様は変わる。
VBAがたまたまVB6.0辺りの仕様で停滞してるだけ。
もっと前のN-Basic辺りは
Console 0,25,0,1とかおまじないのようにみんな付けてたけど、
VBAから入った人にしてみれば何のこっちゃってことになる。
0276デフォルトの名無しさん
2014/02/11(火) 08:44:06.430277デフォルトの名無しさん
2014/02/11(火) 10:11:19.84古いシステムでも修正なしで動くように新しい機能をわざと使わないことならある
0278デフォルトの名無しさん
2014/02/11(火) 11:13:16.08もうバージョン違いに悩まないで良くなるのかなあ。
0279デフォルトの名無しさん
2014/02/11(火) 12:02:07.37これからもどんどん新機能が追加されてくに決まってる
0280デフォルトの名無しさん
2014/02/11(火) 14:29:28.140281デフォルトの名無しさん
2014/02/11(火) 23:00:10.06空欄のセルだけ非表示にできるようにはどうマクロを組めばよいのでしょうか。
数式が入っていなければ非表示にできるようには組めるのですが、
見た目上は空欄でもセルには数式が入力されているため上手くできません…。
どうかご教授ください。
0282デフォルトの名無しさん
2014/02/11(火) 23:05:27.59セルの非表示ってどうやってやってるの?
0283デフォルトの名無しさん
2014/02/11(火) 23:41:26.34セルではなく行の非表示でした。
例えばa1からa10に入力がない場合ですが、
If [Counta(a1:a10)] < 11 Then
Range("a1:a10").SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
End If
で処理をしています。
ですがこれだと関数で空欄になっていてもセルには数式が入っているので、
非表示にはならないので困っています。
0284デフォルトの名無しさん
2014/02/12(水) 07:33:54.19ちょっと思い出せないけどxlCellTypeBlanks以外に何かなかったっけ?
ないなら判定を自分で作ればいいかと
0285デフォルトの名無しさん
2014/02/12(水) 10:47:06.240286デフォルトの名無しさん
2014/02/12(水) 12:30:57.75For Each c In Range("a1:a10")
If c.Text = "" Then Rows(c.Row).Hidden = True
Next
0287デフォルトの名無しさん
2014/02/12(水) 14:37:20.000288デフォルトの名無しさん
2014/02/12(水) 14:40:01.25それだと1個でも空白セルがあったら非表示になるんじゃ
0289デフォルトの名無しさん
2014/02/12(水) 16:22:45.01For Each でA1:A10内の各セルを一個ずつ選んで
そのセルのテキストが""だったらセルの行全部を削除する
これは>>283の要求どおりの動作だと思う
0290289
2014/02/12(水) 16:25:01.52削除じゃなく非表示だった
0291デフォルトの名無しさん
2014/02/12(水) 17:49:50.09ああ、行単位でコントロールするのか
If [Counta(a1:a10)] < 11 Then しか見てなかったわ
0292デフォルトの名無しさん
2014/02/12(水) 19:19:18.291行も消さない場合のがよっぽど多くないと、このロジックだとむしろナノ秒単位で遅くなるだろ
0293283
2014/02/12(水) 19:43:37.89このマクロで思った通りの処理をしてくれました、ありがとうございます。
ですが思ったよりも処理に時間がかかってしまうようです...。
レスを下さった方々ありがとうございます!
0294デフォルトの名無しさん
2014/02/12(水) 19:47:46.74まとめて処理すればいいよ
もらったコードに手を加えちゃダメってわけじゃないんでしょ?
0295デフォルトの名無しさん
2014/02/12(水) 19:56:10.39えっ調べるのはA列だけでいいの?だとしたら>>283のコードはなんだったのか…
遅いと感じるならScreenUpdatingを入れればたぶん一瞬で終わるよ
0296283
2014/02/12(水) 20:26:25.50レスくださった方のものを参考にさせていただいて自分で再度考えてみます。
ご迷惑おかけしました、ROMに戻ります。
0297デフォルトの名無しさん
2014/02/14(金) 03:55:36.59ウェブの某サイトに自動ログインするマクロを作っています。
IDとパスワードはうまく入力させることができたのですが、
ログインができません。
ログインボタンが次のようなソースコードのサイトに
ログインするにはどうしたら良いでしょうか?
<input type="hidden" name="SsLoginPage" value="/members/" id="hidden1">
<input type="hidden" value=" ログイン " id="submit1" name="submit1">
<input type="image" src="../../ssl_img/login/btn_login.gif" alt="ログイン" tabindex="300" id=image1 name=image1>
0298デフォルトの名無しさん
2014/02/14(金) 19:01:26.24スレ違い
0299デフォルトの名無しさん
2014/02/14(金) 21:24:22.54できてるところまでソース貼って
0300デフォルトの名無しさん
2014/02/14(金) 22:46:45.67サイトは伏せさせてもらっていいでしょうか? ネットで調べて無理矢理作ったので洗練されてません。
Sub 自動ログイン()
Dim obj As Object
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
objIE.Navigate "https://《ログインしたいサイト》"
Do Until objIE.Busy = False
Do Until objIE.ReadyState = 4
Do Until objIE.Busy = False
DoEvents
Loop
Loop
Loop
CreateObject("WScript.Shell").AppActivate "《ログインしたいサイトのタイトル》"
Set objU = objIE.document.getElementsByName("SsLogonUser")
If objU.Length = 0 Then
MsgBox "ログインページが変わった?"
WScript.Quit
End If
objU(0).Value = "《ID番号はここ》"
Set objU = Nothing
objIE.document.getElementsByName("SsLogonPassword").Item(0).Value = "《パスワードはここ》"
Set objU = Nothing
'このあと、ログインできるようにしたいのですが…
End Sub
0301デフォルトの名無しさん
2014/02/15(土) 11:58:56.47ExcelシートにユーザフォームでDTPickerを貼り付けて、日付をこのカレンダーで
選択すると、フォームがある位置の陰になっているセルにこっそり日付格納して
マクロでその日付を使うように作成しました。
ところがこのカレンダーが動く人と動かない人がいて困っています。
(クリックしてもユーザフォームが固定された状態でカレンダーが表示されない)
環境はExcel2010で作成および表示
拡張子は会社の方針で互換重視のxls(関連会社とのファイル共有などのため)
どうもExcel2000でファイルを開くと動くというのも確認されていて、意味不明です。
インスコされている環境も社内標準環境なので、ランタイムが異なるなど無いはず
なんですが…
解決策の心当たりがあればよろしくお願いします。
0302デフォルトの名無しさん
2014/02/15(土) 13:34:19.94ここにアクセスがインストールされてないとどうたらとか
アクセスが無くてもVBランタイムが入ってれば動くけど
それをエクセルで使うのはライセンス違反がどうたらとか色々書いてある
http://www.h3.dion.ne.jp/~sakatsu/Excel_Tips06.htm
0303デフォルトの名無しさん
2014/02/15(土) NY:AN:NY.ANhttp://kojikoji75.hatenablog.com/entry/2013/08/17/175328
の Date and Time Picker Control を使っているのでライセンス等は大丈夫なはずです
よく見るとAxtiveXコントロールとあるので
http://www.ilovex.co.jp/blog/system/cat820/excelactivex.html
と同じ罠に引っかかってるかもです(症状が良く似ている印象)
とりあえず月曜会社で試してみますが、これで解決しなかったら本格的に分からないw
0304302
2014/02/15(土) 14:44:20.37その Date and Time Picker Control てのは2007から実装されたんでしょ?
それだと>>301で言ってた「2000で動く」ってのはおかしくない?
0305301
2014/02/15(土) 15:10:33.32言われてみると確かにおかしいですね
でも2kで「動いた」って目の前で見せられたので…
昨日発覚したばかりなので、月曜改めて周囲の状況も含め確認してきます。
0306デフォルトの名無しさん
2014/02/15(土) 17:36:08.310307デフォルトの名無しさん
2014/02/17(月) 21:49:42.74Sub 総計計算_送料()
Dim 行番号 As Currency
Dim 工場直送送料 As Currency
Dim 受注生産送料 As Currency
Dim 送料合計 As Currency
行番号 = 14
送料合計 = 0
工場直送送料 = 500
受注生産送料 = 800
Do Until Cells(行番号, 4) = ""
If Cells(行番号, 6) = "工場直送" Then
送料合計 = 送料合計 + 工場直送送料
ElseIf Cells(行番号, 6) = "受注生産" Then
送料合計 = 送料合計 + 受注生産送料
0308デフォルトの名無しさん
2014/02/17(月) 21:54:21.14例えば
送料合計 = 送料合計 + 工場直送送料は
0 = 0 + 500
と、工場直送送料は「500」として計算されると思うのですが
Do Until Cells(行番号, 4) や If Cells(行番号, 6)といった式の場合
なぜいきなり(14 , 4)セルや(14 , 6)セルといったセルに飛ばずに、
ちゃんと一行目のセルから計算されるのかわかりません。
本当に初心者でアホな質問だと思うのですが、答えて欲しいです。
0309デフォルトの名無しさん
2014/02/17(月) 22:18:32.410310デフォルトの名無しさん
2014/02/17(月) 22:26:13.83ステップ実行で1行ごとに各変数の値を確認してみたら?
0311デフォルトの名無しさん
2014/02/18(火) 03:36:11.850312デフォルトの名無しさん
2014/02/18(火) 07:28:15.080313デフォルトの名無しさん
2014/02/18(火) 11:22:50.430314デフォルトの名無しさん
2014/02/18(火) 14:32:12.07IntegerじゃないぞLong使えよ
0316デフォルトの名無しさん
2014/02/19(水) 12:30:10.58残念ながらわかりません
ごめんなさい
0317デフォルトの名無しさん
2014/02/19(水) 13:51:27.51ログインボタンのクリックは
objIE.document.all.btn01.Click
みたいに書く
ページ内にクリックできる場所が複数ある時はボタン番号を適切に変える
「戻る」「入力内容をクリア」「IDをクッキーに保存」とか色々と並んでる場合があるからね
ていうか検索ぐらいしろよ
「VBA IE操作 クリック」みたいなキーワードでサンプルがいくらでも出てくるぞ
0318デフォルトの名無しさん
2014/02/19(水) 21:09:16.21上記を代入したいんですがうまくいきません。
n1は任意の変数です。Vlookupのところではねられます。
Worksheets("データシート").Cells(n1, 6).Formula = "=IfError(Hyperlink(VLookup(Cells(" & n1 & ", 5), $Q$:$R$10, 2, True)), "")"
考えてやってみましたがこれではダメっぽいです。
ご教授いただけると助かります。
0319デフォルトの名無しさん
2014/02/19(水) 21:49:24.13Worksheets("データシート").Cells(n1, 6).Formula = "=IfError(Hyperlink(VLookup(Cells(" & n1 & ", 5), $Q$:$R$10, 2, True)), """")"
とりあえずこんな感じ?
0321デフォルトの名無しさん
2014/02/19(水) 21:58:31.80Worksheets("データシート").Cells(n1, 6).Formula = "=IfError(Hyperlink(VLookup(Cells(" & n1 & ", 5), $Q$2:$R$10, 2, True)), """")"
0322デフォルトの名無しさん
2014/02/20(木) 00:46:24.24それで番号をひと通り押してみたんですけど
どれもダメでした
>>297のソースコードでもボタン形式でいいのでしょうか?
>>316
丁寧にありがとうございます
0323デフォルトの名無しさん
2014/02/20(木) 01:24:13.28よくわからんけどinputタグにname=image1って書いてあるからクリックするのもimage1と違う?
0324デフォルトの名無しさん
2014/02/20(木) 01:55:37.89>>323
すげえええええええ
objIE.document.all.image1.Click
であっさり通りました
ありがとうございます
0325デフォルトの名無しさん
2014/02/20(木) 07:29:20.69解決してよかったね
でもスレチなんだから今後は余所に行ってやってね
0326デフォルトの名無しさん
2014/02/20(木) 09:03:39.96このスレでは問題ない
そういうことが気になるなら君が他所へ行きたまえ
0327デフォルトの名無しさん
2014/02/20(木) 10:28:54.40ですよね
0328デフォルトの名無しさん
2014/02/20(木) 19:00:31.77いるのですが、文字列、数値、計算式などが入っている普通のファイルなら
期待通り動くのですが、EXCELは多機能ですので、普段全く使ったことが無い
ような機能とか設定がシートやセルなどに追加されていると、自作プログラム
が予期しない動きをするのではないかと思っています。
そのテストの為には、自分でEXCELファイルにいろんな加工を行えば良いわけですが、
自分でも知らないような機能は使うことができません。例えばデータベースとか
テーブルとか、グラフ、フィルターなどなど、まだまだ沢山あります。
そこで質問なのですが、そういうEXCELの機能がてんこ盛りみたいにいろいろ
組み込まれているような何か良いテスト用のファイルって、どこかにありませんか?
0329デフォルトの名無しさん
2014/02/20(木) 19:21:36.25""が余計にいるとは知りませんでした。
おかげさまで解決・・・となればよかったんですが
なぜかVookupのあとがCellsだとうまく読み出ししてくれません。
ちゃんと =IFERROR(HYPERLINK(VLOOKUP(Cells(20, 5), $Q$2:$R$10, 2, TRUE)), "")とセルには入っています。
手動でCells(20,5)をE20にすると思った通りの動きになるんですが、なんででしょう?
0330デフォルトの名無しさん
2014/02/20(木) 21:17:27.35ワークシートでは
Cellsが使えないからエラーになるんじゃないか?
0331デフォルトの名無しさん
2014/02/20(木) 21:20:43.09そもそもワークシート関数にCellsなんて無いから
0332デフォルトの名無しさん
2014/02/21(金) 04:14:19.51ワークシート上の数式にCellsは使えないけど、
VBAでは使えるからコード中でCells(20,5)を指定させる事なら出来た。
ただし、絶対参照になっちゃったけど。
Worksheets("データシート").Cells(n1, 6).Formula = "=IfError(Hyperlink(VLookup(" & Cells(20, 5).Address & ", $Q$2:$R$10, 2, True)), """")"
相対参照で書きたければFormulaではなくFormulaR1C1を使えば良いと思う。
0333デフォルトの名無しさん
2014/02/21(金) 07:35:53.62あなたにプログラムを依頼した人にもらえばよいと思います
0334デフォルトの名無しさん
2014/02/22(土) 01:34:21.73シートAのA1に名前A1とつけたとき
$A$1 = 名前A1なのかな?
=A1の相対参照で行列の挿入して参照がずれる
アンチパターンの整理ができてないわ
0335デフォルトの名無しさん
2014/02/23(日) 15:56:19.01Do Until 親 = 20 '20回ループ
Do Until 子 = 10 '10回ループ
'子くり返し処理内容
子 = 子 + 1
Loop
'親くり返し処理内容
親 = 親 + 1
Loop
このようにネストさせる事は可能なのでしょうか?
とりあえず作ってみたら動きませんでしたが出来ると説明されている解説サイトもあるようで
一体どうやって書けば良いのでしょうか?
0336デフォルトの名無しさん
2014/02/23(日) 16:27:41.93親の二回目のループで 子 の内容どうなってる?
0337デフォルトの名無しさん
2014/02/23(日) 16:31:18.920338335
2014/02/23(日) 16:32:17.71親の計算結果の数値を子に渡して詳細分析を10パターン行うと言ったないようですが
これってプロシージャをわければ解決でしょうか? そんな気がしてきました。
0340デフォルトの名無しさん
2014/02/23(日) 16:52:35.73ごたくはいいから >>336 を確認しろよ
0341デフォルトの名無しさん
2014/02/23(日) 17:15:19.70わからないならコードを削らず貼ろう
0342デフォルトの名無しさん
2014/02/23(日) 17:45:19.18>>341
チェックしたところ子のループ処理が終了したところでVBAの実行が終了いるようで、、 やはりネストは無理か??
0343デフォルトの名無しさん
2014/02/23(日) 17:53:58.08ネスト自体はできるよね。
コード見直したがいいっすよ。
Dim Parent As Long
Parent = 0
Do Until Parent = 20
Dim Child As Long
Child = 0
Do Until Child = 10
Debug.Print Parent & " " & Child
Child = Child + 1
Loop
Parent = Parent + 1
Loop
0344デフォルトの名無しさん
2014/02/23(日) 17:54:51.09>>340
>>341
なるほど!!親処理1回ごとに子の変数を初期値に戻さないと子の処理がすべてスルーされているわけですね、修正するとばっちり動きました。
超初歩的な間違いでした。。どうもありがとうございました!
0345デフォルトの名無しさん
2014/02/23(日) 17:56:18.66ありがとうございますm(_ _)m
0346デフォルトの名無しさん
2014/02/23(日) 18:03:05.91VBA は変数の初期値が決まってるからいいんだけど、こんなケースもあるから明示的に設定した方がいいよ。
あと、今回の場合なら For 〜 Next 使った方がいいと思う。
0347デフォルトの名無しさん
2014/02/23(日) 18:29:53.38どうしてですか?
0348335
2014/02/23(日) 18:33:31.050349デフォルトの名無しさん
2014/02/23(日) 19:26:51.74どこを質問してるんだよ...
0350デフォルトの名無しさん
2014/02/23(日) 21:43:02.28すみません
後半部分についてです
0351デフォルトの名無しさん
2014/02/23(日) 21:54:19.10実行時でないと判らないってんなら Do Unti
の方でないとダメだろうけど判ってんなら
For Nextの方が良いに決まってるl
0352デフォルトの名無しさん
2014/02/23(日) 21:57:31.13今回みたいな初期化漏れや Parent = Parent + 1 の入れ忘れがなくなるから。
0353デフォルトの名無しさん
2014/02/23(日) 22:04:00.80ありがとうございます
ヒューマンエラーを低減させるためにFor〜Nextの方が良い、ということだったのですね
ちょっと深読みしすぎていたようです
0354デフォルトの名無しさん
2014/02/24(月) 20:49:02.56複数のインスタンスでExcelが起動していて、それぞれのインスタンスに
未保存の新規ブックがひとつずつ開いています。
これらのブックは未保存のまま、すべてのブックのオブジェクトを取得する方法は
あるのでしょうか?
VBAでできるに越したことはないのですが、別の方法でもOKです。
よろしくお願いします。
0355デフォルトの名無しさん
2014/02/25(火) 07:33:56.81インスタンスを生成したあと
コレクションに格納しておいて
ループでコレクションの中身を取得するようにしとけば?
0356デフォルトの名無しさん
2014/02/25(火) 09:28:04.02vbaの参照設定で一度フォームを使ったら
Microsoft Forms 2.0 Object Library
のチェックを外すこと出来なくなるん?
フォーム使ったら自動でチェックが入るけど、いらなくなったんで
フォームを解放してついでに参照設定のチェックをoffにしようとしたら
「使用中のコントロールまたは参照を削除することはできません。」
って出るんだけど
0357デフォルトの名無しさん
2014/02/25(火) 11:01:09.75エクセル2000だけどおなじ症状が出てる
0358デフォルトの名無しさん
2014/02/25(火) 15:26:49.432007で試したけど、保存して開き直したら消えてる
0359356
2014/02/25(火) 17:00:57.86ってか、参照設定を解除するのを教えてもらったんで、それで消しましたた^^;
Sub testRef()
Dim Ref As Object
For Each Ref In ThisWorkbook.VBProject.References
Debug.Print Ref.Name
If Ref.Name = "MSForms" Then
ThisWorkbook.VBProject.References.Remove Ref
End If
Next Ref
End Sub
0360デフォルトの名無しさん
2014/02/26(水) 13:49:18.84ttp://www.forest.impress.co.jp/docs/news/20140226_636988.html
0361デフォルトの名無しさん
2014/02/27(木) 13:32:25.19www.hatinosu.net/camp/archives/okinawa/
www.hatinosu.net/camp/archives/1200/
こういうページが複数あります (下のURL)
これをExcelの表にまとめてしたいと思っています
場所1 料金1 期間1 関連1 備考1
場所2 料金2 期間2 関連2 備考2
場所3 料金3 期間3 関連3 備考3
場所4 料金4 期間4 関連4 備考4
htmlで表を取り込む方法はわかったのですが
まとめてやる場合はマクロが必要なのでしょうか
参考になるサイトなどありましたらご教示ください
0362デフォルトの名無しさん
2014/02/27(木) 14:21:41.96ホームページに書いてある内容から必要な部分だけ取り出す方法は色々あるけどVBAを使った方が楽だと思う
ただ、人間の目で必要な部分を探すのは簡単だけど、それをコンピューターに自動でやらせるのはものすごく大変
参考サイトを見た程度でできるような物じゃない
手順としては
(1) URLの一覧を作る
(2) HTMLを読み込む
(3) タグとテキストを解析して必要な情報を取り出す
(4) 取り出したデータをシートに並べる
どれも専門的な知識が必要なんで、どこまでわかっているのか細かく確認しながらじゃないと教えるのも大変
■ このスレッドは過去ログ倉庫に格納されています