!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には期待するなって
死んだばあちゃんが言ってた
死んだばあちゃんが言ってた
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「中国人の訪日熱は冷めた」 人気旅行先から日本外れる 14日で自粛呼びかけ1カ月 [蚤の市★]
- 「1800万円の売り上げゼロに…」中国インバウンドに特化の宿の今 [蚤の市★]
- 地震 [Hitzeschleier★]
- 【STARTO ENTERTAINMENT】SUPER EIGHTの横山裕、フジ『ドッキリGP』ロケで全治2ヶ月の重傷 [Ailuropoda melanoleuca★]
- 【話題】好きな鍋は?! 「寄せ鍋」「キムチ鍋」「水炊き」「もつ鍋」「豆乳鍋」「ちゃんこ鍋」「ごま坦々鍋」「トマト鍋」 [ひぃぃ★]
- 【地震】 茨城 栃木 埼玉 千葉 震度4 [KingFisherは魚じゃないよ★]
- 【お漏らし】日銀、0.25%利上げへ [256556981]
- J( 'ー`)し「で、アンタなんで働かないの?」 ワイ👶「理由は2つありまして~」🏡
- 【悲報】人気女性落語家、気づいてしまう…「将棋をみてたら女性にのみ女流棋士などと"女"をつけられる、くだんな笑」 [339712612]
- おさかなさんあつまれえ
- ムミィ🥺いる❓🏡
- もうなんか最近の日本人って大災害について"諦めてる"よな、災害が起きても助け合う精神がないもんな [904880432]
