!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付けるナリ
ExcelのVBAに関する質問スレナリ
コード書き込みや作成依頼もOKナリ
※前スレ
Excel VBA 質問スレ Part70
https://mevius.5ch.net/test/read.cgi/tech/1616072923/
Excel VBA 質問スレ Part71
https://mevius.5ch.net/test/read.cgi/tech/1621914481/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
Excel VBA 質問スレ Part73
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 4668-xJJl)
2021/09/13(月) 07:29:59.47ID:GNx0xRRz02デフォルトの名無しさん (テテンテンテン MM3e-h3Yj)
2021/09/13(月) 08:13:09.52ID:tEaVHPxwM >>1 乙
3デフォルトの名無しさん (ワッチョイ a58e-tqgi)
2021/09/13(月) 19:11:08.29ID:Pa7+I2w50 いつものあいつの釣りとあまりに馬鹿過ぎる質問はお断りです
また、Excelの使い方すらわからない人はお帰りください
また、Excelの使い方すらわからない人はお帰りください
4デフォルトの名無しさん (ワッチョイ a6da-dGLa)
2021/09/13(月) 21:24:22.31ID:dfMVUW3H0 それでも来たらスルーでいいんじゃね
5デフォルトの名無しさん (ワッチョイ e6bb-gYTk)
2021/09/14(火) 16:24:06.98ID:QWQM37es0 A列の全行のセルの値を配列に突っ込む時、オートフィルターが複数列でかかっていると、
表示されてるやつだけ配列に入ってしまうの、なんとかならない?
配列をA列に縦方向に貼り付ける時も、オートフィルターが既にかかってると、適切に元の行に貼り付け戻せない。
仕様なのかな
表示されてるやつだけ配列に入ってしまうの、なんとかならない?
配列をA列に縦方向に貼り付ける時も、オートフィルターが既にかかってると、適切に元の行に貼り付け戻せない。
仕様なのかな
65 (ワッチョイ e6bb-gYTk)
2021/09/14(火) 16:26:32.34ID:QWQM37es0 2万行あるから、なるべく最初にa列の内容を全部配列に入れてから、それぞれを操作して、
それからまた修正済みの配列の中身をa列に上書き貼り付けしたい。
でも、オートフィルターがかかっているとまずい。
複数列でオートフィルターがかかっているととても難しい
それからまた修正済みの配列の中身をa列に上書き貼り付けしたい。
でも、オートフィルターがかかっているとまずい。
複数列でオートフィルターがかかっているととても難しい
7デフォルトの名無しさん (アウアウウー Sa21-DZpR)
2021/09/14(火) 16:40:04.06ID:dOl/0XMua フィルタ全解除する処理を前に置けばいいじゃない
85 (ワッチョイ e6bb-gYTk)
2021/09/14(火) 17:37:49.57ID:QWQM37es0 全解除して処理を行う、というのはできたけど、ユーザーのためにフィルタした状態ってのはそのままに戻したい。
フィルタしてる列が単体ならなんとかそれはできた。
だけど、複数列でフィルタした状態を、いったん全解除して、そんであとでまた元のフィルタ選択状態に戻すのが出来なさそうなのよね。
フィルタしてる列が単体ならなんとかそれはできた。
だけど、複数列でフィルタした状態を、いったん全解除して、そんであとでまた元のフィルタ選択状態に戻すのが出来なさそうなのよね。
9デフォルトの名無しさん (ワッチョイ a95f-+10e)
2021/09/14(火) 19:45:59.21ID:dPBji9ks0 テーブルの見出しはvalueじゃ取り出せないんだな
勉強になったわ
勉強になったわ
10デフォルトの名無しさん (ワッチョイ 5e68-gxqX)
2021/09/14(火) 20:24:42.51ID:Tksl7xa90 フィルタは全解除するのが一番手っ取り早い
横に伸ばすのは異常に難易度高い
横に伸ばすのは異常に難易度高い
11デフォルトの名無しさん (ワッチョイ 5e68-gxqX)
2021/09/14(火) 20:25:17.71ID:Tksl7xa90 列の増加が多いなら最初から大量にフィルタ列を用意シておいたほうが良い
12デフォルトの名無しさん (アウアウウー Sa21-DZpR)
2021/09/14(火) 21:12:31.57ID:u7isybhPa >>8
フィルタの条件って色々指定できる(色とか日付とか特定の文字列を含むとか)から、全部に対応しようとするとすごくめんどくさい
https://excel-ubara.com/vba_class/VBA_CLASS_08.html
割り切りとして「このマクロを使ったらフィルタは解除されますが情報は最新化されます」くらいにしとくのが無難かと
フィルタの条件って色々指定できる(色とか日付とか特定の文字列を含むとか)から、全部に対応しようとするとすごくめんどくさい
https://excel-ubara.com/vba_class/VBA_CLASS_08.html
割り切りとして「このマクロを使ったらフィルタは解除されますが情報は最新化されます」くらいにしとくのが無難かと
13デフォルトの名無しさん (JP 0Hc9-dGLa)
2021/09/14(火) 21:57:16.30ID:zgsbOTDxH 作業シートにコピペしてから処理すれば?
14デフォルトの名無しさん (ワッチョイ 2a05-0MLo)
2021/09/14(火) 23:44:27.27ID:UJ1BwW9y0 コマンドボタンを押してユーザーフォームを開くときに、
TopとLeftの位置をセルC5のTopとLeftの位置に合わせるべく、
以下のようにコードを記述したのですがうまく合ってくれません。
※セルC5のLeftやTop位置より大分左や上に表示されてしまう。
何か記述的におかしいのでしょうか?
Sub UserFormOpenSet()
Dim varTop, varLeft
With Sheets("説明シート").Range("C5")
varTop = .Top
varLeft = .Left
End With
With UserForm
.Show
.Top = varTop
.Left = varLeft
.Label1.Caption = "コメント内容"
・
・
・
End With
End Sub
TopとLeftの位置をセルC5のTopとLeftの位置に合わせるべく、
以下のようにコードを記述したのですがうまく合ってくれません。
※セルC5のLeftやTop位置より大分左や上に表示されてしまう。
何か記述的におかしいのでしょうか?
Sub UserFormOpenSet()
Dim varTop, varLeft
With Sheets("説明シート").Range("C5")
varTop = .Top
varLeft = .Left
End With
With UserForm
.Show
.Top = varTop
.Left = varLeft
.Label1.Caption = "コメント内容"
・
・
・
End With
End Sub
15デフォルトの名無しさん (ワッチョイ a95f-DZpR)
2021/09/14(火) 23:56:12.55ID:OBquwEh60 >>14
UserForm top left でググッたらこんなページがhttps://www.officepro.jp/excelvbaform/form_form/index4.html
検証してないけど試してみたらどうですかね
UserForm top left でググッたらこんなページがhttps://www.officepro.jp/excelvbaform/form_form/index4.html
検証してないけど試してみたらどうですかね
16デフォルトの名無しさん (ワッチョイ 2a05-0MLo)
2021/09/15(水) 00:23:15.17ID:8Tg1g6H4017デフォルトの名無しさん (ワッチョイ 7990-xJJl)
2021/09/15(水) 00:48:53.61ID:YsJqQLCb0 どーでも良い質問なんだが、VBAからエクセルのセルに値を入れるときの表現について
意見が割れてるので、みんながどー表現してるか知りたい
例えばVBAで A1セルに 123 という値を入れるとき、
A1セルに 123 を出力するという表現を使うか、A1セルに 123 を入力するという表現を使うか、どっち?
仕様書で人によって同じことしてるのに出力となってたり入力となってたりで色々バラバラすぎる
意見が割れてるので、みんながどー表現してるか知りたい
例えばVBAで A1セルに 123 という値を入れるとき、
A1セルに 123 を出力するという表現を使うか、A1セルに 123 を入力するという表現を使うか、どっち?
仕様書で人によって同じことしてるのに出力となってたり入力となってたりで色々バラバラすぎる
18デフォルトの名無しさん (スフッ Sd0a-dGLa)
2021/09/15(水) 01:03:00.63ID:gZeM1+Z6d19デフォルトの名無しさん (ワッチョイ 5e68-gxqX)
2021/09/15(水) 07:18:17.38ID:zmLKkAKu020デフォルトの名無しさん (ワッチョイ 39e6-oWuh)
2021/09/15(水) 07:51:35.00ID:qRxK7g6Y0 VBAの関数、メソッドとしてそのデータが入力値なのか出力値なのかは明白なのでは?
21デフォルトの名無しさん (ワッチョイ a668-dGLa)
2021/09/15(水) 10:54:35.14ID:LR7HEnPp022デフォルトの名無しさん (ブーイモ MM3e-Eik0)
2021/09/15(水) 12:02:19.64ID:K+waubxMM お知恵をお貸し下さい
String型の変数に文章を代入しています
その変数が「は」を助詞として使用しているかを検出し、その「は」が何文字目に記載されているかを抽出したいです
判定式はどの様に組むのが良いでしょうか
String型の変数に文章を代入しています
その変数が「は」を助詞として使用しているかを検出し、その「は」が何文字目に記載されているかを抽出したいです
判定式はどの様に組むのが良いでしょうか
23デフォルトの名無しさん (ワッチョイ 11da-k7k8)
2021/09/15(水) 12:16:58.05ID:ggl3y/Wm024デフォルトの名無しさん (ワッチョイ 11da-k7k8)
2021/09/15(水) 12:26:39.15ID:ggl3y/Wm0 こちらの下の方に具体的に品詞の判定方法がある。
http://www.excel.studio-kazu.jp/kw/20201108202429.html
http://www.excel.studio-kazu.jp/kw/20201108202429.html
25デフォルトの名無しさん (ワッチョイ ea4f-Eqy2)
2021/09/15(水) 14:02:58.42ID:XT7xZlnV0 是非とも
「はははははは、ははのはははははははと笑う」で
挙動確認を行なって欲しい案件だな
「はははははは、ははのはははははははと笑う」で
挙動確認を行なって欲しい案件だな
26デフォルトの名無しさん (テテンテンテン MM3e-h3Yj)
2021/09/15(水) 16:06:38.48ID:5d7y3fL1M >>17
> A1セルに 123 を出力するという表現を使うか、A1セルに 123 を入力するという表現を使うか、どっち?
俺なら「A1セルに 123 を書き込む」かな
シートはストレージみたいなものなのと思ってるので出力とか入力って言うのはなんか違和感ある
> A1セルに 123 を出力するという表現を使うか、A1セルに 123 を入力するという表現を使うか、どっち?
俺なら「A1セルに 123 を書き込む」かな
シートはストレージみたいなものなのと思ってるので出力とか入力って言うのはなんか違和感ある
27デフォルトの名無しさん (ワッチョイ 3a2f-0MLo)
2021/09/15(水) 16:59:13.14ID:3TKYe9Fz0 VBA側を主体に書いているなら(シートに)出力
シート側を主体にかいてるなら(VBAから)入力
だな
VBAの仕様書でVBA側を主体にしないのはどうかと思うが
(マクロ付き)エクセルの仕様書だと考えればまあ入力でもいいのかも
シート側を主体にかいてるなら(VBAから)入力
だな
VBAの仕様書でVBA側を主体にしないのはどうかと思うが
(マクロ付き)エクセルの仕様書だと考えればまあ入力でもいいのかも
28デフォルトの名無しさん (ワッチョイ a6ba-WYzC)
2021/09/15(水) 23:30:54.86ID:IO2bkDAL0 985なのですが、
ttps://whois.nic.ad.jp/cgi-bin/whois_gw?key=182.22.16.251
から
b. [ネットワーク名] YAHOO-NET
をVBAで抽出するいい方法はあるでしょうか?
ttps://whois.nic.ad.jp/cgi-bin/whois_gw?key=182.22.16.251
から
b. [ネットワーク名] YAHOO-NET
をVBAで抽出するいい方法はあるでしょうか?
29デフォルトの名無しさん (JP 0Hc9-dGLa)
2021/09/16(木) 00:13:25.85ID:/erdykE4H >>28
Sub ネットワーク名取得()
With CreateObject("MSXML2.XMLHTTP")
.Open "GET", "https://whois.nic.ad.jp/cgi-bin/whois_gw?key=182.22.16.251", False
.Send
For Each s In Split(.responseText, vbLf)
If InStr(s, "ネットワーク名") Then Debug.Print s
Next
End With
End Sub
Sub ネットワーク名取得()
With CreateObject("MSXML2.XMLHTTP")
.Open "GET", "https://whois.nic.ad.jp/cgi-bin/whois_gw?key=182.22.16.251", False
.Send
For Each s In Split(.responseText, vbLf)
If InStr(s, "ネットワーク名") Then Debug.Print s
Next
End With
End Sub
30デフォルトの名無しさん (ワッチョイ a95f-+10e)
2021/09/16(木) 00:59:42.68ID:5Hx4RpZ/0 一生使うことのなさそうなCreateObjectだな
31デフォルトの名無しさん (ワッチョイ 662c-0MLo)
2021/09/16(木) 01:49:26.07ID:tvb8xhvB0 >>28
shift-jis の古いサーバーっぽい。
Ruby で作った
require 'open-uri'
require 'nokogiri'
url = "ここへURL"
doc = Nokogiri::HTML( open( url ) )
elements = doc.css( "pre" )
text = elements.first.content # 1つ目のpreの内容
result = "エラー! 該当なし"
text.each_line( chomp: true ) do | line | # 改行を除去して、各行を処理する
if line.start_with? "b. [ネットワーク名]" # 行頭が何々で始まっていれば
result = line
break
end
end
puts result
出力
b. [ネットワーク名] YAHOO-NET
shift-jis の古いサーバーっぽい。
Ruby で作った
require 'open-uri'
require 'nokogiri'
url = "ここへURL"
doc = Nokogiri::HTML( open( url ) )
elements = doc.css( "pre" )
text = elements.first.content # 1つ目のpreの内容
result = "エラー! 該当なし"
text.each_line( chomp: true ) do | line | # 改行を除去して、各行を処理する
if line.start_with? "b. [ネットワーク名]" # 行頭が何々で始まっていれば
result = line
break
end
end
puts result
出力
b. [ネットワーク名] YAHOO-NET
32デフォルトの名無しさん (ブーイモ MM8e-FDYl)
2021/09/16(木) 01:51:47.59ID:YFUf0QLVM なぜRuby
33デフォルトの名無しさん (スップ Sd0a-GwBl)
2021/09/16(木) 02:01:13.02ID:FMosLWBbd スレタイも質問も読めないRubyバカ
34デフォルトの名無しさん (ワッチョイ 5e68-gxqX)
2021/09/16(木) 06:38:12.58ID:COWrCKXD0 利用者数激減の言語
それがruby
それがruby
35デフォルトの名無しさん (テテンテンテン MM3e-h3Yj)
2021/09/16(木) 08:25:21.24ID:J7QCCEb9M >>32-34
相手すんなよ…
相手すんなよ…
36デフォルトの名無しさん (ワッチョイ ea4f-Eqy2)
2021/09/16(木) 08:25:49.50ID:3isIfw030 >>17
なるほど仕様書の問題か
ならば現場内で紛らわしくないような記載のルールを作ればいいかな。
例えばユーザーが手打ちで設定する場合は「入力」
VBAで書き込む場合は「出力」または「設定」
コード上では「取得」と「設定」とかに分かれるからあまり問題ないだろうけど、仕様書の記載はまた別のセンスが必要になるからね。
一見して分かりやすく曲解のない仕様書を作るときって日本語の難しさを痛感することあるよね。
そういう時は大まかな流れ図みたいなもの書いて添付して紛らわしさを回避するのも一つの手だよ。
なるほど仕様書の問題か
ならば現場内で紛らわしくないような記載のルールを作ればいいかな。
例えばユーザーが手打ちで設定する場合は「入力」
VBAで書き込む場合は「出力」または「設定」
コード上では「取得」と「設定」とかに分かれるからあまり問題ないだろうけど、仕様書の記載はまた別のセンスが必要になるからね。
一見して分かりやすく曲解のない仕様書を作るときって日本語の難しさを痛感することあるよね。
そういう時は大まかな流れ図みたいなもの書いて添付して紛らわしさを回避するのも一つの手だよ。
37デフォルトの名無しさん (ワッチョイ 7990-H7Ir)
2021/09/16(木) 11:33:48.95ID:0wHWe9CF0 質問への回答ありがとう
>>17の質問者です
個人的には「人が入力」、「VBAから出力」というとらえ方がしっくりきました
紛らわしくない書き方のルールを作るというのは本当にその通りで、
これは実践したい
日本語は改めて考えると主体が曖昧で難しい…
>>17の質問者です
個人的には「人が入力」、「VBAから出力」というとらえ方がしっくりきました
紛らわしくない書き方のルールを作るというのは本当にその通りで、
これは実践したい
日本語は改めて考えると主体が曖昧で難しい…
38デフォルトの名無しさん (JP 0Hc9-dGLa)
2021/09/16(木) 12:13:09.55ID:/erdykE4H >>37
日本語の文章ってのは、主語が存在しなくても成立する性質があるんだよ
おかげでどっち視点かわからなくなる現象が起きやすい
逆に英文法では主語がほぼ省略できない
だから単語を置き換えただけの翻訳は不自然な文章になる
日本語の文章ってのは、主語が存在しなくても成立する性質があるんだよ
おかげでどっち視点かわからなくなる現象が起きやすい
逆に英文法では主語がほぼ省略できない
だから単語を置き換えただけの翻訳は不自然な文章になる
39デフォルトの名無しさん (アウアウウー Sa21-lpFL)
2021/09/16(木) 13:11:41.46ID:3+DQoJa1a グッジョブ!俺
40デフォルトの名無しさん (ワッチョイ 668e-ZlXV)
2021/09/16(木) 14:54:30.21ID:QuckXkbq0 >>38
馬鹿の典型例
馬鹿の典型例
41デフォルトの名無しさん (ワッチョイ b501-lR9W)
2021/09/16(木) 17:31:50.83ID:Z23LNYuB0 質問させてください。
ウェブサイトから特定の場所の情報を抽出するのはこちらのVBAを使用するということで間違いないでしょうか?
またこれはExcelを購入することによって使用できるもので、WindowsでもMacでも使用できるのでしょうか?
現在Macを使用しておりまして、具体的に申し上げるとyahooファイナンスなどの個別銘柄ページから配当利回りなどの情報をまとめて抽出したいと考えております。
スレ違いでしたら申し訳ございませんが、検索してもよく分からなかったので、書き込み数が多いこちらで質問させていただきました。
よろしくお願い申し上げます。
ウェブサイトから特定の場所の情報を抽出するのはこちらのVBAを使用するということで間違いないでしょうか?
またこれはExcelを購入することによって使用できるもので、WindowsでもMacでも使用できるのでしょうか?
現在Macを使用しておりまして、具体的に申し上げるとyahooファイナンスなどの個別銘柄ページから配当利回りなどの情報をまとめて抽出したいと考えております。
スレ違いでしたら申し訳ございませんが、検索してもよく分からなかったので、書き込み数が多いこちらで質問させていただきました。
よろしくお願い申し上げます。
42デフォルトの名無しさん (ブーイモ MMc9-Eik0)
2021/09/16(木) 17:42:26.31ID:3abSZdzaM 俺が馬鹿なだけかもしれねぇけど何をしたいのかがさっぱり分からない
43デフォルトの名無しさん (ブーイモ MM8e-FDYl)
2021/09/16(木) 18:02:43.18ID:nCqRUFyPM スクレイピングしたいんだろ
そのデータをどう扱うかによるわな
そのデータをどう扱うかによるわな
44デフォルトの名無しさん (ワッチョイ 3a2f-0MLo)
2021/09/16(木) 18:31:48.90ID:sOgFGA/J0 というかMAC版のEXCELってVBA使えるの?
あとスクレイピング用のコンポーネントも
あとスクレイピング用のコンポーネントも
45デフォルトの名無しさん (ラクッペペ MM3e-oWuh)
2021/09/16(木) 18:41:42.01ID:EvK5hxPzM 他のツールでデータを集めて
結果をExcelにするのが良いよ
csvでもいいんじゃね?
結果をExcelにするのが良いよ
csvでもいいんじゃね?
46デフォルトの名無しさん (ワッチョイ 66da-dGLa)
2021/09/16(木) 19:07:04.50ID:Az+Wn1Ze0 >>41
htmlから簡単なスクレイピングならPower Queryがとっつきやすいかと。
URLのリンク先がcsvやExcelファイル、pdfファイル、
GitHubにあるJSONなんかもこれで結構いける。
CSS構造や、
画面上で検索指定やボタンを押させるような対話型を必要とする
複雑なhtmlなら、Pythonとか。
その先の処理でVBAを組み合わせることはある。
クエリーエラーを避けるため、一つずつシーケンシャルに更新させたいとか、
同時にファイルをDLして保存したいとか。
htmlから簡単なスクレイピングならPower Queryがとっつきやすいかと。
URLのリンク先がcsvやExcelファイル、pdfファイル、
GitHubにあるJSONなんかもこれで結構いける。
CSS構造や、
画面上で検索指定やボタンを押させるような対話型を必要とする
複雑なhtmlなら、Pythonとか。
その先の処理でVBAを組み合わせることはある。
クエリーエラーを避けるため、一つずつシーケンシャルに更新させたいとか、
同時にファイルをDLして保存したいとか。
47デフォルトの名無しさん (ワッチョイ 5e68-gxqX)
2021/09/16(木) 19:33:58.44ID:COWrCKXD0 >>41
chrome 拡張機能 スクレイピング
で検索すると良い
ちなみにyahooなんかはスクレイピング対策として、短時間で大量にアクセスすると一発で垢一時停止になるぞ
一番いいのはyahoo APIなどのAPIを使う事
chrome 拡張機能 スクレイピング
で検索すると良い
ちなみにyahooなんかはスクレイピング対策として、短時間で大量にアクセスすると一発で垢一時停止になるぞ
一番いいのはyahoo APIなどのAPIを使う事
48デフォルトの名無しさん (ワッチョイ ea4f-Eqy2)
2021/09/16(木) 20:21:31.16ID:3isIfw030 MacのOfficeソフトとRubyには期待するなって
死んだばあちゃんが言ってた
死んだばあちゃんが言ってた
49デフォルトの名無しさん (ワッチョイ 9e8c-xZL4)
2021/09/16(木) 20:24:24.60ID:MqGeVsp10 Macには無料で今流行りのPythonがついているそうなので
スクレイピンクはそっちの方が遥かに簡単じゃないかな
ExcelVBA経験がないのなら
スクレイピンクはそっちの方が遥かに簡単じゃないかな
ExcelVBA経験がないのなら
50デフォルトの名無しさん (ワッチョイ 6a42-7gNx)
2021/09/16(木) 20:45:30.18ID:B6OYbZSR0 >>48
ばあちゃんハイカラやな
ばあちゃんハイカラやな
51デフォルトの名無しさん (ワッチョイ ff2c-QiSa)
2021/09/17(金) 03:52:03.83ID:O1PoA15N0 Rubyist は、たいていMac
スクレイピングは、Ruby, Selenium Webdriver, Nokogiri だけど、
無断で、大量のスクレイピングすると、営業妨害で逮捕される
スクレイピングする際、そのサイトのrobots.txt を遵守しないといけない。
取得したデータは、CSV, JSON、データベースなどに保存する
今は、どの本でも、無断でスクレイピングする事は推奨しないと書いてある。
相手のサイトと契約して、API を使わしてもらうべき!
YouTube API とか、Google Maps API とか、
株式相場などもそう
スクレイピングは、Ruby, Selenium Webdriver, Nokogiri だけど、
無断で、大量のスクレイピングすると、営業妨害で逮捕される
スクレイピングする際、そのサイトのrobots.txt を遵守しないといけない。
取得したデータは、CSV, JSON、データベースなどに保存する
今は、どの本でも、無断でスクレイピングする事は推奨しないと書いてある。
相手のサイトと契約して、API を使わしてもらうべき!
YouTube API とか、Google Maps API とか、
株式相場などもそう
52デフォルトの名無しさん (ワッチョイ ffda-qDHA)
2021/09/17(金) 11:36:45.56ID:D2cYhIKk053デフォルトの名無しさん (ワッチョイ ffb0-nVhm)
2021/09/17(金) 12:01:52.56ID:Y3MPn8p/0 できないことをやらないと
いつまでたっても何もできないのだが、、、
いつまでたっても何もできないのだが、、、
54デフォルトの名無しさん (ワッチョイ ffba-fv4A)
2021/09/17(金) 18:44:11.62ID:xtR/7aZz0 >>29, 31
ありがとうございました。
ありがとうございました。
55デフォルトの名無しさん (ワッチョイ ff10-dWRi)
2021/09/17(金) 20:27:29.50ID:ZtM+Yv2y0 見えないものを見ようとして望遠鏡を覗き込んだら捕まった事例
56デフォルトの名無しさん (アウアウウー Sa5b-4fkB)
2021/09/17(金) 20:40:10.73ID:7ovEcO6ia >>53
おまえが出来ないのは自業自得
おまえが出来ないのは自業自得
57デフォルトの名無しさん (ワッチョイ b7cc-W1il)
2021/09/17(金) 22:49:29.45ID:DaER+3fZ0 前の定義で移動できるセルを登録したいのですが、アプリケーションの定義エラーがでます。
範囲は101カ所登録したいのですが、どうやらstr*を3個くらい抜くと動くのですが、名前の定義に制限があるのでしょうか?
str*はどこを抜いても同じです。
Dim stra As String, strb As String, strc As String, strd As String, stre As String, strf As String, strg As String
stra = "=sh1!$H$3:$K$3,sh1!$N$3:$O$3,sh1!$R$3:$S$3," & _
"sh1!$E$6:$N$6,sh1!$O$6:$AC$6,sh1!$AD$6:$BG$6,sh1!$BH$6:$BR$6," & _
"sh1!$BS$6:$CG$6,sh1!$CH$6:$CQ$6,sh1!$CV$6:$DB$6,sh1!$DC$6:DR6," & _
"sh1!$DS$6:$EH$6,sh1!$EI$6:$ER$6,sh1!$ES$6:$FA$6,sh1!$FB$6:$FD$6," & _
"sh1!$FE$6:$FF$6,sh1!$FG$6:$FH$6,"
範囲は101カ所登録したいのですが、どうやらstr*を3個くらい抜くと動くのですが、名前の定義に制限があるのでしょうか?
str*はどこを抜いても同じです。
Dim stra As String, strb As String, strc As String, strd As String, stre As String, strf As String, strg As String
stra = "=sh1!$H$3:$K$3,sh1!$N$3:$O$3,sh1!$R$3:$S$3," & _
"sh1!$E$6:$N$6,sh1!$O$6:$AC$6,sh1!$AD$6:$BG$6,sh1!$BH$6:$BR$6," & _
"sh1!$BS$6:$CG$6,sh1!$CH$6:$CQ$6,sh1!$CV$6:$DB$6,sh1!$DC$6:DR6," & _
"sh1!$DS$6:$EH$6,sh1!$EI$6:$ER$6,sh1!$ES$6:$FA$6,sh1!$FB$6:$FD$6," & _
"sh1!$FE$6:$FF$6,sh1!$FG$6:$FH$6,"
5857 (ワッチョイ b7cc-W1il)
2021/09/17(金) 22:50:14.26ID:DaER+3fZ0 続き
strb = "sh1!$E$7:$N$7,sh1!$O$7:$AC$7,sh1!$AD$7:$BG$7,sh1!$BH$7:$BR$7," & _
"sh1!$BS$7:$CG$7,sh1!$CH$7:$CQ$7,sh1!$CV$7:$DB$7,sh1!$DC$7:DR7," & _
"sh1!$DS$7:$EH$7,sh1!$EI$7:$ER$7,sh1!$ES$7:$FA$7,sh1!$FB$7:$FD$7," & _
"sh1!$FE$7:$FF$7,sh1!$FG$7:$FH$7,"
strc = "sh1!$E$8:$N$8,sh1!$O$8:$AC$8,sh1!$AD$8:$BG$8,sh1!$BH$8:$BR$8," & _
"sh1!$BS$8:$CG$8,sh1!$CH$8:$CQ$8,sh1!$CV$8:$DB$8,sh1!$DC$8:DR8," & _
"sh1!$DS$8:$EH$8,sh1!$EI$8:$ER$8,sh1!$ES$8:$FA$8,sh1!$FB$8:$FD$8," & _
"sh1!$FE$8:$FF$8,sh1!$FG$8:$FH$8,"
strd = "sh1!$E$9:$N$9,sh1!$O$9:$AC$9,sh1!$AD$9:$BG$9,sh1!$BH$9:$BR$9," & _
"sh1!$BS$9:$CG$9,sh1!$CH$9:$CQ$9,sh1!$CV$9:$DB$9,sh1!$DC$9:DR9," & _
"sh1!$DS$9:$EH$9,sh1!$EI$9:$ER$9,sh1!$ES$9:$FA$9,sh1!$FB$9:$FD$9," & _
"sh1!$FE$9:$FF$9,sh1!$FG$9:$FH$9,"
stre = "sh1!$E$10:$N$10,sh1!$O$10:$AC$10,sh1!$AD$10:$BG$10,sh1!$BH$10:$BR$10," & _
"sh1!$BS$10:$CG$10,sh1!$CH$10:$CQ$10,sh1!$CV$10:$DB$10,sh1!$DC$10:DR10," & _
"sh1!$DS$10:$EH$10,sh1!$EI$10:$ER$10,sh1!$ES$10:$FA$10,sh1!$FB$10:$FD$10," & _
"sh1!$FE$10:$FF$10,sh1!$FG$10:$FH$10,"
strb = "sh1!$E$7:$N$7,sh1!$O$7:$AC$7,sh1!$AD$7:$BG$7,sh1!$BH$7:$BR$7," & _
"sh1!$BS$7:$CG$7,sh1!$CH$7:$CQ$7,sh1!$CV$7:$DB$7,sh1!$DC$7:DR7," & _
"sh1!$DS$7:$EH$7,sh1!$EI$7:$ER$7,sh1!$ES$7:$FA$7,sh1!$FB$7:$FD$7," & _
"sh1!$FE$7:$FF$7,sh1!$FG$7:$FH$7,"
strc = "sh1!$E$8:$N$8,sh1!$O$8:$AC$8,sh1!$AD$8:$BG$8,sh1!$BH$8:$BR$8," & _
"sh1!$BS$8:$CG$8,sh1!$CH$8:$CQ$8,sh1!$CV$8:$DB$8,sh1!$DC$8:DR8," & _
"sh1!$DS$8:$EH$8,sh1!$EI$8:$ER$8,sh1!$ES$8:$FA$8,sh1!$FB$8:$FD$8," & _
"sh1!$FE$8:$FF$8,sh1!$FG$8:$FH$8,"
strd = "sh1!$E$9:$N$9,sh1!$O$9:$AC$9,sh1!$AD$9:$BG$9,sh1!$BH$9:$BR$9," & _
"sh1!$BS$9:$CG$9,sh1!$CH$9:$CQ$9,sh1!$CV$9:$DB$9,sh1!$DC$9:DR9," & _
"sh1!$DS$9:$EH$9,sh1!$EI$9:$ER$9,sh1!$ES$9:$FA$9,sh1!$FB$9:$FD$9," & _
"sh1!$FE$9:$FF$9,sh1!$FG$9:$FH$9,"
stre = "sh1!$E$10:$N$10,sh1!$O$10:$AC$10,sh1!$AD$10:$BG$10,sh1!$BH$10:$BR$10," & _
"sh1!$BS$10:$CG$10,sh1!$CH$10:$CQ$10,sh1!$CV$10:$DB$10,sh1!$DC$10:DR10," & _
"sh1!$DS$10:$EH$10,sh1!$EI$10:$ER$10,sh1!$ES$10:$FA$10,sh1!$FB$10:$FD$10," & _
"sh1!$FE$10:$FF$10,sh1!$FG$10:$FH$10,"
59デフォルトの名無しさん (ワッチョイ b7cc-W1il)
2021/09/17(金) 22:50:45.98ID:DaER+3fZ0 続き
strf = "sh1!$E$11:$N$11,sh1!$O$11:$AC$11,sh1!$AD$11:$BG$11,sh1!$BH$11:$BR$11," & _
"sh1!$BS$11:$CG$11,sh1!$CH$11:$CQ$11,sh1!$CV$11:$DB$11,sh1!$DC$11:DR11," & _
"sh1!$DS$11:$EH$11,sh1!$EI$11:$ER$11,sh1!$ES$11:$FA$11,sh1!$FB$11:$FD$11," & _
"sh1!$FE$11:$FF$11,sh1!$FG$11:$FH$11,"
strg = "sh1!$E$12:$N$12,sh1!$O$12:$AC$12,sh1!$AD$12:$BG$12,sh1!$BH$12:$BR$12," & _
"sh1!$BS$12:$CG$12,sh1!$CH$12:$CQ$12,sh1!$CV$12:$DB$12,sh1!$DC$12:DR12," & _
"sh1!$DS$12:$EH$12,sh1!$EI$12:$ER$12,sh1!$ES$12:$FA$12,sh1!$FB$12:$FD$12," & _
"sh1!$FE$12:$FF$12,sh1!$FG$12:$FH$12"
ActiveWorkbook.Names.Add Name:="Nyuryoku2", RefersToLocal:=stra & strb & strc & strd & stre & strf & strg
strf = "sh1!$E$11:$N$11,sh1!$O$11:$AC$11,sh1!$AD$11:$BG$11,sh1!$BH$11:$BR$11," & _
"sh1!$BS$11:$CG$11,sh1!$CH$11:$CQ$11,sh1!$CV$11:$DB$11,sh1!$DC$11:DR11," & _
"sh1!$DS$11:$EH$11,sh1!$EI$11:$ER$11,sh1!$ES$11:$FA$11,sh1!$FB$11:$FD$11," & _
"sh1!$FE$11:$FF$11,sh1!$FG$11:$FH$11,"
strg = "sh1!$E$12:$N$12,sh1!$O$12:$AC$12,sh1!$AD$12:$BG$12,sh1!$BH$12:$BR$12," & _
"sh1!$BS$12:$CG$12,sh1!$CH$12:$CQ$12,sh1!$CV$12:$DB$12,sh1!$DC$12:DR12," & _
"sh1!$DS$12:$EH$12,sh1!$EI$12:$ER$12,sh1!$ES$12:$FA$12,sh1!$FB$12:$FD$12," & _
"sh1!$FE$12:$FF$12,sh1!$FG$12:$FH$12"
ActiveWorkbook.Names.Add Name:="Nyuryoku2", RefersToLocal:=stra & strb & strc & strd & stre & strf & strg
60デフォルトの名無しさん (ワッチョイ bf8c-V+sB)
2021/09/17(金) 23:08:43.51ID:VKkEr3i80 255文字
61デフォルトの名無しさん (JP 0Hfb-qDHA)
2021/09/17(金) 23:31:47.79ID:4pHWHBC6H >>57
1274文字まで
質問のために加工したんでなければ、その範囲はもっとシンプルにまとめられるぞ
"=$H$3:$K$3,$N$3:$O$3,$R$3:$S$3,$E$6:$CQ$12,$CV$6:$FH$12"
1274文字まで
質問のために加工したんでなければ、その範囲はもっとシンプルにまとめられるぞ
"=$H$3:$K$3,$N$3:$O$3,$R$3:$S$3,$E$6:$CQ$12,$CV$6:$FH$12"
63デフォルトの名無しさん (アウアウウー Sa5b-CdTX)
2021/09/18(土) 09:39:13.68ID:iFpkyoTBa64デフォルトの名無しさん (JP 0Hfb-qDHA)
2021/09/18(土) 10:16:04.89ID:jMbZYEP4H >>63
引数はRangeじゃなくてStringなんよ
引数はRangeじゃなくてStringなんよ
65デフォルトの名無しさん (ワッチョイ bf8c-V+sB)
2021/09/18(土) 12:10:53.45ID:vNZ9H73d0 名前定義ってRangeオブジェクトからでもできるのか 知らなかった
Range("B1:G10").Name = "Nyuuryoku2"
Range("B1:G10").Name = "Nyuuryoku2"
66デフォルトの名無しさん (ワッチョイ 775f-FvVG)
2021/09/18(土) 12:26:09.80ID:FfOi19ZE0 便利だけどExcelの名前の定義ウインドウは使いにくすぎる
67デフォルトの名無しさん (ワッチョイ 775f-FvVG)
2021/09/18(土) 12:26:47.71ID:FfOi19ZE0 つまりたくさん定義すると管理しにくいんだよな
68デフォルトの名無しさん (ワッチョイ bf8c-V+sB)
2021/09/18(土) 16:41:01.37ID:vNZ9H73d0 名前の管理を簡単にする便利なアドインって誰か作ってないの?
(とおねだり)
(とおねだり)
69デフォルトの名無しさん (ラクッペペ MM8f-muDX)
2021/09/18(土) 18:23:53.93ID:B91oASHcM 簡単の意味を定義してくれれば俺が作ってやるよ。
70デフォルトの名無しさん (ワッチョイ 775f-CdTX)
2021/09/18(土) 18:33:26.51ID:y+KnaSW50 表形式ならテーブルでOK
名前の定義使わなくても
名前の定義使わなくても
71デフォルトの名無しさん (テテンテンテン MM8f-vJdV)
2021/09/18(土) 18:45:25.50ID:+/kaLHzEM72デフォルトの名無しさん (ワッチョイ 775f-FvVG)
2021/09/18(土) 18:49:07.44ID:FfOi19ZE0 ちょっとぐぐったけど
NamesコレクションをForEachで回してユーザーフォームにでも表示させれば作れそうだな
NamesコレクションをForEachで回してユーザーフォームにでも表示させれば作れそうだな
73デフォルトの名無しさん (ワッチョイ b7da-muDX)
2021/09/19(日) 00:12:03.29ID:zQBxj3q40 >>71
めちゃくちゃ簡単だな。任せとけ。
めちゃくちゃ簡単だな。任せとけ。
74デフォルトの名無しさん (テテンテンテン MM8f-vJdV)
2021/09/19(日) 05:13:48.14ID:AGA6cOjvM おう、頼んだぞ
75デフォルトの名無しさん (ワッチョイ 9701-IhC7)
2021/09/19(日) 10:09:24.37ID:IfToBfi40 Internet Explorer_Serverのハンドルから取得したIHTMLDocumentオブジェクトではそのページ内での操作はできましたが
Navigate実行時にメソッドをサポートしていないというエラーになります
別のURLへ移動する方法ありますか?
Navigate実行時にメソッドをサポートしていないというエラーになります
別のURLへ移動する方法ありますか?
76デフォルトの名無しさん (JP 0Hfb-qDHA)
2021/09/19(日) 12:24:27.96ID:jno0wMDOH77デフォルトの名無しさん (アウアウウー Sa5b-hED7)
2021/09/19(日) 12:45:26.42ID:/yxUr6Cya IEのオプションでcssの設定を変える
78デフォルトの名無しさん (ワッチョイ 9701-IhC7)
2021/09/19(日) 14:05:15.93ID:IfToBfi40 >>76
検証中のためハンドルも直接入力してますし
コードも他のサイトの転用したものだったりかなり端折ってますが
何か解りましたらよろしくお願いします
Private Declare PtrSafe Function CLSIDFromString Lib "ole32" (ByVal pString As LongPtr, ByRef pCLSID As Currency) As Long
Private Declare PtrSafe Function RegisterWindowMessageW Lib "user32" (ByVal lpString As LongPtr) As Long
Private Declare PtrSafe Function SendMessageTimeoutW Lib "user32" (ByVal hWnd As LongPtr, ByVal msg As Long, ByVal wParam As LongPtr, ByRef lParam As LongPtr, ByVal fuFlags As Long, ByVal uTimeout As Long, ByRef lpdwResult As Long) As LongPtr
Private Declare PtrSafe Function ObjectFromLresult Lib "oleacc" (ByVal lResult As Long, ByRef riid As Currency, ByVal wParam As LongPtr, ppvObject As Any) As Long
Private Enum SMTO
NORMAL = 0
BLOCK = 1
ABORTIFHUNG = 2
NOTIMEOUTIFNOTHUNG = 8
End Enum
Sub test()
Dim hWnd As Long
hWnd = 136698
Set objDoc = GetHtmlDocument(hWnd)
'objDoc.Navigate ("https://www.google.co.jp/")
'Googleの検索窓に入力
objDoc.getElementsByName("q")(0).Value = "test"
End Sub
検証中のためハンドルも直接入力してますし
コードも他のサイトの転用したものだったりかなり端折ってますが
何か解りましたらよろしくお願いします
Private Declare PtrSafe Function CLSIDFromString Lib "ole32" (ByVal pString As LongPtr, ByRef pCLSID As Currency) As Long
Private Declare PtrSafe Function RegisterWindowMessageW Lib "user32" (ByVal lpString As LongPtr) As Long
Private Declare PtrSafe Function SendMessageTimeoutW Lib "user32" (ByVal hWnd As LongPtr, ByVal msg As Long, ByVal wParam As LongPtr, ByRef lParam As LongPtr, ByVal fuFlags As Long, ByVal uTimeout As Long, ByRef lpdwResult As Long) As LongPtr
Private Declare PtrSafe Function ObjectFromLresult Lib "oleacc" (ByVal lResult As Long, ByRef riid As Currency, ByVal wParam As LongPtr, ppvObject As Any) As Long
Private Enum SMTO
NORMAL = 0
BLOCK = 1
ABORTIFHUNG = 2
NOTIMEOUTIFNOTHUNG = 8
End Enum
Sub test()
Dim hWnd As Long
hWnd = 136698
Set objDoc = GetHtmlDocument(hWnd)
'objDoc.Navigate ("https://www.google.co.jp/")
'Googleの検索窓に入力
objDoc.getElementsByName("q")(0).Value = "test"
End Sub
79デフォルトの名無しさん (ワッチョイ 9701-IhC7)
2021/09/19(日) 14:06:52.91ID:IfToBfi40 続き
Public Function GetHtmlDocument(ByVal hWnd_InternetExplorer_Server As LongPtr, Optional ByVal uTimeout As Long = 1000, Optional ByVal documentVersion As Integer = 1) As Object ' As MSHTML.IHTMLDocument
Set GetHtmlDocument = Nothing
If documentVersion <= 0 Then
documentVersion = 1
ElseIf documentVersion >= 8 Then
documentVersion = 8
End If
Dim IID_IHTMLDocumentX As String
IID_IHTMLDocumentX = Split(",{626FC520-A41E-11cf-A731-00A0C9082637},{332c4425-26cb-11d0-b483-00c04fd90119},{3050f485-98b5-11cf-bb82-00aa00bdce0b},{3050f69a-98b5-11cf-bb82-00aa00bdce0b},{3050f80c-98b5-11cf-bb82-00aa00bdce0b},{30510417-98b5-11cf-bb82-00aa00bdce0b},{305104b8-98b5-11cf-bb82-00aa00bdce0b},{305107d0-98b5-11cf-bb82-00aa00bdce0b}", ",")(documentVersion - 1)
Dim InterfaceId(1) As Currency
Call CLSIDFromString(StrPtr(IID_IHTMLDocumentX), InterfaceId(0))
Dim lngMsg As Long
lngMsg = RegisterWindowMessageW(StrPtr("WM_HTML_GETOBJECT"))
If lngMsg <> 0 Then
Dim lpdwResult As Long
If SendMessageTimeoutW(hWnd_InternetExplorer_Server, lngMsg, 0, 0, SMTO.ABORTIFHUNG, uTimeout, lpdwResult) <> 0 Then
Dim hResult As Long
hResult = ObjectFromLresult(lpdwResult, InterfaceId(0), 0, GetHtmlDocument)
If hResult <> 0 Then
Err.Raise hResult
End If
End If
End If
End Function
Public Function GetHtmlDocument(ByVal hWnd_InternetExplorer_Server As LongPtr, Optional ByVal uTimeout As Long = 1000, Optional ByVal documentVersion As Integer = 1) As Object ' As MSHTML.IHTMLDocument
Set GetHtmlDocument = Nothing
If documentVersion <= 0 Then
documentVersion = 1
ElseIf documentVersion >= 8 Then
documentVersion = 8
End If
Dim IID_IHTMLDocumentX As String
IID_IHTMLDocumentX = Split(",{626FC520-A41E-11cf-A731-00A0C9082637},{332c4425-26cb-11d0-b483-00c04fd90119},{3050f485-98b5-11cf-bb82-00aa00bdce0b},{3050f69a-98b5-11cf-bb82-00aa00bdce0b},{3050f80c-98b5-11cf-bb82-00aa00bdce0b},{30510417-98b5-11cf-bb82-00aa00bdce0b},{305104b8-98b5-11cf-bb82-00aa00bdce0b},{305107d0-98b5-11cf-bb82-00aa00bdce0b}", ",")(documentVersion - 1)
Dim InterfaceId(1) As Currency
Call CLSIDFromString(StrPtr(IID_IHTMLDocumentX), InterfaceId(0))
Dim lngMsg As Long
lngMsg = RegisterWindowMessageW(StrPtr("WM_HTML_GETOBJECT"))
If lngMsg <> 0 Then
Dim lpdwResult As Long
If SendMessageTimeoutW(hWnd_InternetExplorer_Server, lngMsg, 0, 0, SMTO.ABORTIFHUNG, uTimeout, lpdwResult) <> 0 Then
Dim hResult As Long
hResult = ObjectFromLresult(lpdwResult, InterfaceId(0), 0, GetHtmlDocument)
If hResult <> 0 Then
Err.Raise hResult
End If
End If
End If
End Function
80デフォルトの名無しさん (ブーイモ MMbf-nVhm)
2021/09/19(日) 14:13:18.62ID:qcTxghfBM gethtmldocumentにnavigateあるのか?
81デフォルトの名無しさん (ワッチョイ bf8c-xsW+)
2021/09/19(日) 21:14:40.95ID:+Er1+t3H0 navigateじゃなくてcreateDocumentFromUrlじゃないの?
知らんけど
知らんけど
82デフォルトの名無しさん (ワッチョイ 9f6b-W1il)
2021/09/20(月) 00:12:39.27ID:wP8fgZ+m0 A1からA10000にデータが有って検索したい文字列があったとする。
この場合,範囲をdictionaryで調べるのと配列で調べるのは速度は同じぐらい??
この場合,範囲をdictionaryで調べるのと配列で調べるのは速度は同じぐらい??
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 [蚤の市★]
- 「もうキモくてキモくて…」29歳女性が語る“おぢアタック”の実態。「俺ならイケるかも」年下女性を狙う勘違い中年男性に共通点が★4 [Hitzeschleier★]
- JA全農が「新おこめ券」…来年9月末の有効期限を新設、必要経費のみ上乗せ [蚤の市★]
- 【おこめ券】鈴木憲和農相 小泉前農相の備蓄米放出を“反省”「備蓄の円滑な運営を図ってまいります」 [Hitzeschleier★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- 自民・麻生太郎副総裁 石破政権の1年は「どよーん」 高市政権発足で「何となく明るくなった」「世の中のことが決まり動いている」★2 [Hitzeschleier★]
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★7
- トランプ、G7に代わるcore 5を発表 [805596214]
- 【悲報】新米、全く売れなくて倉庫が満杯になってしまうwwwwwwwwwwwwwwwwwwww [802034645]
- 【悲報】麻生太郎さん、オムツをしていた。晋さん…ここにいたんだね… [731544683]
- 【悲報】日本共産党、ツイッター速報にブチギレ法的措置WWWWWWWWWWWWWWWWWWWWWWWWWWWW [935793931]
- 木曜日のんなっしょい❗(・o・🍬)仕放題スレ🏡
