Excel VBA 質問スレ Part70

レス数が950を超えています。1000を超えると書き込みができなくなります。
2021/03/18(木) 22:08:43.71ID:jtngtgXU0
!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付けるナリ

ExcelのVBAに関する質問スレナリ
コード書き込みや作成依頼もOKナリ

※前スレ
Excel VBA 質問スレ Part69
https://mevius.5ch.net/test/read.cgi/tech/1607786543/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2021/05/14(金) 17:11:44.35ID:C4z8VNUC0
暇と時間は自分で作るもの
2021/05/14(金) 17:53:42.33ID:usYNgZ690
この「いつものあいつ」はperlスレで釣りしてたあいつだろ
回答がないと別ID自分に回答するクズだぞ
IDをコロコロ変えていることで気付け
2021/05/14(金) 18:02:17.06ID:9jitt6PZ0
ここに若い人はいないと思われ
定年退職した60〜70のジジババ様がメインの予想
2021/05/14(金) 19:35:21.69ID:EALw/Xv8a
いちゃ悪いか?
2021/05/14(金) 19:38:49.82ID:b+Ipd3IB0
>>854
煽り体制なさ杉
ゴミは無視して自分のやりたいことをしておけば良い
2021/05/14(金) 19:53:03.83ID:FyOJKl4nM
アラサーのおっさんですわ
857デフォルトの名無しさん (ワッチョイ c7e6-JFKK)
垢版 |
2021/05/14(金) 20:06:30.42ID:M77EX5P+0
平成生まれのおっさんかよ
2021/05/14(金) 20:10:13.25ID:b+Ipd3IB0
令和生まれの赤子が常駐してたらマジでびびるしこんな言語をやるべきじゃないと諭すレベル
2021/05/14(金) 23:02:24.08ID:eHp6F4GU0
答えたい人は答えて無視したい人は無視すればいいのに
「俺が気にくわないからお前らも答えるな!」ってガキ大将かなんか?
2021/05/14(金) 23:04:28.38ID:b+Ipd3IB0
>>859
支え合ってる人たちが気に入らない
という社会に馴染めない方の怨嗟

vbaという単語を知ってるだけでも見込みはあるのに、どうしてそうなったのか
2021/05/15(土) 01:26:37.20ID:FnRhwbWQ0
定年したジジババだらけだったら異常だろ
多分30〜50代あたりのPC世代だね
2021/05/15(土) 10:20:07.29ID:sw5CYKBX0
ウィンドウズ95を25で迎えた人間は50歳行ってるよ
863デフォルトの名無しさん (ワッチョイ e9ad-/TFo)
垢版 |
2021/05/15(土) 11:32:20.38ID:ULjvOOdJ0
>>859
そんな奴おらんやろ〜
864デフォルトの名無しさん (エムゾネ FF2f-JrGs)
垢版 |
2021/05/15(土) 12:01:56.35ID:eYtIld1hF
memo
https://www.mhlw.go.jp/toukei/list/dl/maikin-teisei-20210406.pdf
https://www.hello-pc.net/howto-excel/shisyagonyu/
http://www.excel.studio-kazu.jp/kw/20131108152616.html
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12216877167
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1314241033
https://docs.microsoft.com/ja-jp/office/troubleshoot/excel/floating-point-arithmetic-inaccurate-result
https://answers.microsoft.com/ja-jp/msoffice/forum/msoffice_excel-mso_windows8-mso_2013_release/excel%E3%81%AE%E5%8D%98%E7%B4%94%E3%81%AA%E8%A8%88/e5421c34-8053-4132-a0a6-14729e505376
2021/05/15(土) 12:25:50.26ID:vXVB+fnY0
>>863
チッチキチー
866デフォルトの名無しさん (ワッチョイ ffbb-D5yk)
垢版 |
2021/05/15(土) 13:49:58.81ID:YDtAUn460
Lbound関数がどうもうまく出来ないのでお知恵を拝借させてください。

--------------------------------------------------------------------
【VBA標準モジュール】
Option Explicit

Function F_Test(wRange As Range) As Integer
F_Test = LBound(wRange)
End Function

--------------------------------------------------------------------
【ワークシート】
A列は別に何でも良くて,例えば以下のとおり。
A1セル 10
A2セル 11
A3セル 12
A4セル 13

--------------------------------------------------------------------
B1に =F_Test(A1:A3) の数式で「3」という答えが欲しい。
その他,A1:A4なら「4」,A2:A3なら「2」という感じ。

要は引数の配列の添字の数が欲しい。


Functionの引数部分をVariantに変えて
Function F_Test(wRange As Variant) As Integer にしてもうまく行きませぬ。
867デフォルトの名無しさん (ワッチョイ ffbb-D5yk)
垢版 |
2021/05/15(土) 13:54:19.11ID:YDtAUn460
すみません。 LとUを間違えました。
× LBound
○ UBound

配列がありません とか #VALUE! になってしまいます。
868デフォルトの名無しさん (ラクッペペ MM17-JFKK)
垢版 |
2021/05/15(土) 13:55:24.28ID:Q8PHpDoBM
wRange.rows.Count
2021/05/15(土) 14:02:11.21ID:ur6+LZEp0
>>867
F_Test = wRange.Count

>>868
横長だとアレでソレ

そういや関数には単純にセルの数を返す方法ってないんかね
870デフォルトの名無しさん (ワッチョイ ffbb-D5yk)
垢版 |
2021/05/15(土) 14:10:21.57ID:YDtAUn460
>>868
>>869

なんと!
ありがとうございます。

配列 サイズ で検索すると Ubound関数を紹介するサイトばかりで,何のことはない count でOKとは!
2021/05/15(土) 14:13:32.27ID:zrs2Seg4H
>>869
セル数は一発では求まらないね
WorksheetFunction.COUNTA + WorksheetFunction.COUNTBLANK
とか、
UBound(1) * UBound(2)
とか工夫が必要
2021/05/15(土) 14:15:26.88ID:q5D0BLy0a
自分がわかっている事を、相手に伝えられない
、いっしゅの病気だと思っておいてね
2021/05/15(土) 14:17:09.49ID:ur6+LZEp0
>>870
ウォッチ式に「wRange」入れると中が見れる
「+」押してそれっぽい奴探せばok
めんどい事しなくても、大体は元々用意されている

>>871
ありがとう
まぁ今まで気づかなかったぐらいだし、まぁ無くてもいいっちゃいいんだけど
874デフォルトの名無しさん (ワッチョイ efba-u+PU)
垢版 |
2021/05/16(日) 15:00:47.34ID:fN3wEca+0
Sub Func()
Dim objIE As InternetExplorer
Set objIE = New InternetExplorer
objIE.Visible = True
objIE.Navigate "https://www.aguse.jp/";
Do While objIE.Busy = True Or objIE.readyState < READYSTATE_COMPLETE
DoEvents
Loop
objIE.Document.getElementById("url").Value = "99.9.9.9"
objIE.Document.getElementsByClassName("btn1").Click
End Sub
なぜ、クリック処理の所でエラー発生するのでしょうか?
2021/05/16(日) 15:15:41.45ID:cdV5xYRld
>>874
getElementsByClassNameは配列を返すから(同じクラスを持つ要素の配列が返る)
2021/05/16(日) 15:32:17.72ID:T2VZn2Kl0
IDがあるならgetElementByIDの方が良いぞ

classのまま一つ目をclickするなら
objIE.Document.getElementsByClassName("btn1")(0).Click
2021/05/16(日) 15:39:13.46ID:cdV5xYRld
CSSっぽく指定できて最初の要素を返してくれるquerySelectorもオヌヌメ
878デフォルトの名無しさん (ワッチョイ efba-u+PU)
垢版 |
2021/05/16(日) 16:10:27.36ID:fN3wEca+0
>>875~877

ありがとうございます。
クリックできました
2021/05/16(日) 17:21:27.26ID:ak429d4ca
クリックのことかー!
2021/05/16(日) 18:59:49.40ID:uzBgfuya0
ダブルクイック
2021/05/18(火) 02:01:26.83ID:BeO0jfUB0
>>870
だって配列じゃないからな
変に用語使わず素直に range 個数 とかでググった方がいいよ

上のレスにあるgetelemetsby系のメソッドも返すのは配列じゃなくてコレクション
2021/05/18(火) 06:19:11.84ID:Z0RWJbQc0
MapだのArrayだの機能入れりゃいいだけなのに入れない
どういうつもりだこいつら
2021/05/18(火) 08:15:11.48ID:8cwZKDcEM
VBAは既に終わった過去の技術
移行を促すために意図的に使いづらくされることはあっても、改善されることはない
2021/05/18(火) 08:58:47.08ID:Z0RWJbQc0
そこにある幸せを制限されてる
上から目線で苦しめられてる
悔しくて泣く
885デフォルトの名無しさん (ラクッペペ MM17-JFKK)
垢版 |
2021/05/18(火) 11:12:26.25ID:9uIGZAIgM
Office365でしか動かないVBAV2作るぐらいなら他の言語使うわな
2021/05/18(火) 12:10:40.31ID:sRK+fHDU0
だったらそうすればいい
2021/05/18(火) 14:24:29.88ID:Xi/08Sqba
だったらそうすればって別に俺たちはマイクロソフトじゃねえけど
2021/05/18(火) 14:42:19.77ID:KlG9vmA0M
Office365には既にOffice Scriptsがあるからそこはとっくに解決済み
あとはVBAを弾圧していくだけや
2021/05/18(火) 14:48:17.90ID:R43akpHGM
Power FX
https://docs.microsoft.com/ja-jp/power-platform/power-fx/overview
2021/05/18(火) 16:33:00.45ID:5G0DWm0g0
VBAからJavaScript書くと
予約語は[]で括らなければいけなかったり
Callbynameで指定しなければいけなかったり
色々めんどくさい
Jqueryだって使えるか分からない

そもそもJavaScriptなんてWebで
クライアント周りで使うもんだから
わざわざEXCELの言語で使う用途が
よく分からない
まだクラッシックASP辺りで
VBSと組み合わせて使うなら納得もいくけど
そんな難しいもんじゃないから
必要に駆られたときに覚えれば十分だろう
2021/05/18(火) 18:00:53.92ID:sY2jShf/0
だから若者はVBに興味示さない
VB=高齢者のプログラミングだからでしょ?
892デフォルトの名無しさん (ラクッペペ MM17-JFKK)
垢版 |
2021/05/18(火) 18:48:43.65ID:ljRiA37AM
jqueryでExcel.Applicationを操作出来るように拡張するのか
夢が広がるね
2021/05/18(火) 18:49:34.47ID:5G0DWm0g0
EXCELで簡単にプログラム組むことが出来るからな
VBと言うのをVBSのこと言ってるのかVB.Netのこと言ってるのかVBAのこと言ってるのか知らんが
EXCELで楽したくてVBAから入る若い人は多い。
VBA覚えた人がVB.NetやってC#やってそこからWeb系に入って初めてJavaScriptをHTMLやCSSと一緒に覚える人なんてザラ。
2021/05/18(火) 19:43:19.02ID:LbhgO8Sf0
>>893
完全に俺
経理だけど、vbaで楽してC#でゲーム作って、
jsでクラウドツールのサイト自体書き換えて勝手に機能追加したりphpでスクレイピングしたり
年中プログラム書いてるわ。楽しい
2021/05/18(火) 19:49:05.74ID:LbhgO8Sf0
>>890
VBAでjs使うのは、一つは動的なサイトのスクレイピングする時
htmlだけの操作でしんどい時は、jsでclick辺りさせるだけでサクサク進む事がある
ってかこれ以外でjs書くことはほぼ無いと思う。

jquery使えない時は無理やりappendかなんかしてたけど、もうやり方も忘れたな
色々試している内にchromeのコンソールにぶっこむのが一番楽って結論にたどり着いた
2021/05/18(火) 20:48:35.33ID:Y1RJXdtP0
Ruby で、Selenium Webdriver, Nokogiri で、
スクレイピング・ブラウザの自動操作する時にも、
JavaScript, jQuery を使える

埋め込みRuby・ERB を使えば、どんなファイルにも、
<%= 式 %>, <% 式 %> で、Rubyの式を埋め込める

a.html.erb, b.js.erb みたいに、
HTML, JavaScript ファイル内に、Rubyの式を埋め込める
897デフォルトの名無しさん (ワッチョイ bb8e-dhLD)
垢版 |
2021/05/18(火) 20:57:22.08ID:dFlzu8QN0
>>896
Ruby馬鹿は>>712のような嘘を書いて逃げる馬鹿
2021/05/18(火) 23:24:28.39ID:sY2jShf/0
そんな事よりさ、おぢーさん達は加齢臭の処理ちゃんとしてくれよ
若者に失礼だと思わね?プンプンプンプンさ
2021/05/19(水) 00:19:04.29ID:GKVmaO5T0
>>896
何でEXCELの利点であるシートやフォームを使わないの?
バカなの?死ぬの?
2021/05/19(水) 00:20:19.16ID:GKVmaO5T0
>>898
ジジイであってクレクレw
2021/05/19(水) 01:20:40.10ID:ZD8mpcBW0
くっせぇーなマジで
パソコンまで加齢臭プンプンなんじゃねーのか爺さん達よ?
2021/05/19(水) 07:45:42.64ID:WworO/MIM
5chは加齢臭ジジイの巣窟ですよ。
子供は他所で遊んだ方が良いですよ。
2021/05/19(水) 14:08:44.86ID:IrWk1Moq0
>>870
それはVariantの2次元配列にRange.Valueを代入して高速化を行う場合の話で、単に行数求める場合に使うのは筋が違う。

Dim varRng As Variant
varRng=wRange.Value
F_TEST=Ubound(varRng,1)

というか、Ubound使うなら引数をRangeにするのが間違い。

Function F_Test(wRange As Variant) As Integer
F_Test = UBound(wRange,1)
End Function

として、呼び出す時に

Debug.Print F_TEST(sht.Range("A1:A3").Value)

とする。
2021/05/19(水) 18:26:06.40ID:Vg/vRgKrd
標準モジュールにcsvFile関連に関わるコードをまとめようと思ってます。
フォームABCと3つありそれぞれのTextBoxの文字列を使用するのですが、引数にフォームを渡すと後でモジュールの引数?を見た時にどのフォーム?ってなるんですが、なんか分かりやすい方法ありますか?
2021/05/19(水) 18:34:23.71ID:/q2TOFSQ0
変数名に書けばいい
2021/05/19(水) 20:30:25.56ID:GKVmaO5T0
>>904
あれ?
EXCELのFormってNameプロパティ持って無かったっけ?
907デフォルトの名無しさん (ササクッテロレ Sp63-swby)
垢版 |
2021/05/19(水) 22:00:48.31ID:+ffuEuggp
みんな、どうやってVBA覚えた?必要に迫られて?
2021/05/19(水) 22:12:24.80ID:jE/FqELl0
>>907
まだ覚えられないの?
909デフォルトの名無しさん (ワッチョイ cd01-gSvD)
垢版 |
2021/05/19(水) 23:13:26.00ID:GsBTRjrb0
あわしろ氏は、Microsoft固有の言語は覚えないほうが良いと言ってた。
910デフォルトの名無しさん (ワッチョイ bb8e-dhLD)
垢版 |
2021/05/19(水) 23:17:32.49ID:cF8YUUzA0
馬鹿の記憶キャパシティは限られるからな
2021/05/19(水) 23:22:58.20ID:mqMv5E730
覚えるとかそういうものではない
2021/05/19(水) 23:42:58.43ID:ZD8mpcBW0
>>907
必要に迫られて覚えたもなにも、中学か高校で習うだろ普通。
2021/05/20(木) 00:07:22.00ID:6elix0QCH
>>909
.netもMS固有の言語みたいなもんだが、普通に色んな職場で使われとるやん
2021/05/20(木) 01:22:13.99ID:BLOb04120
学習しなくても最初からできる天才タイプもたまにいるよマジで
2021/05/20(木) 01:56:26.37ID:6elix0QCH
そもそもマイクロソフト固有の言語ってなんやねん
みんな既成の言語や他社製品を買収して、それを手直しした物ばっかやん
2021/05/20(木) 03:27:31.15ID:sxWNX54s0
microsoft固有の言語って今どきある?
VBAとかBATとか、失われゆくものだけでしょ。
そりゃ今から時間をかけて覚えるのはもったいないわ。
他の言語使える人なら、VBAなんてわざわざ学習する時間をかける必要もなく、それなりのマクロは組めると思うけど。
2021/05/20(木) 04:02:59.34ID:BLOb04120
あまいわ、Excel独自のルール知らないとまともなVBA組めんわ
表示形式とかその辺もそうだし。
2021/05/20(木) 04:05:55.57ID:dmfe27mta
覚えるんじゃなくて調べればいいだけだし
2021/05/20(木) 05:01:49.61ID:sxWNX54s0
>>917
それは言語の問題ではなくAPIの問題かと
2021/05/20(木) 07:32:27.21ID:z6ttNILB0
調べるのも学習コストだと思うがね
言葉遊びだな
2021/05/20(木) 08:16:14.68ID:6elix0QCH
環境に左右されないコード書く仕事なんてそうそうないだろ
何やるにしても調査と学習は必要だわ
2021/05/20(木) 09:53:49.41ID:3grODMDb0
VBAは覚えてからでなければ組めないほど難しいとも思えん
目的の動作に必要な部分だけを検索すれば初心者でもすぐ出きるとおもう
自分で考えないで質問ばっかりすりから覚えられないんじゃねーの
2021/05/20(木) 09:59:01.67ID:QrP75Wi10
A:まず顧客名XXの行、商品とかいてある列のデータをとります
B:()

このざま
けしてとっつきやすくはない
2021/05/20(木) 10:03:51.70ID:XA+o92qv0
みんなすまん
最近Ruby信者やあわしろ教信者がこのスレに多発するようになったのはひょっとすると俺のせいかも知れない

ぶっちゃけ始めるのにいい言語て何 part4
https://mevius.5ch.net/test/read.cgi/tech/1615612545/

このスレでVBA推ししてたから
変な狂信者達がこのスレにうろつき出すようになったのかも知れない
そうだとしたらマジですまんかった
2021/05/20(木) 13:25:45.32ID:8sYLIX1sM
宣伝すんな糞が
2021/05/20(木) 17:45:33.93ID:Gd/4i8WIM
ユーザーフォームで行の選択位置を変えるボタン▲▼がクリック数と一致しない問題があったんだけど
あんまり早くクリックするとダブルクリックイベントに持って行かれるという記事見て目から鱗だったわ
2021/05/20(木) 17:46:49.15ID:Gd/4i8WIM
↑ボタンの動作
2021/05/20(木) 17:51:20.11ID:3grODMDb0
目から鱗、鼻から牛乳
929デフォルトの名無しさん (ワッチョイ 538e-dhLD)
垢版 |
2021/05/20(木) 18:31:11.76ID:A6q2Mdlm0
>>926
当たり前だろ
頭は大丈夫か?
930デフォルトの名無しさん (ワッチョイ cd01-gSvD)
垢版 |
2021/05/20(木) 18:32:38.54ID:PnXLQc6v0
はい、頭大丈夫か、いただきました〜。
ごっつあんです。
2021/05/20(木) 18:39:24.43ID:zC/KxF8YM
>>929
理由を知ってるからそう思えるのであって意外と分からんもんよ
932デフォルトの名無しさん (ワッチョイ 538e-dhLD)
垢版 |
2021/05/20(木) 18:51:23.66ID:A6q2Mdlm0
>>931
常識だろ
コピペしかしない頭が弱い奴にはわからんだけ
そういう頭の弱い奴はWindowsの仕組みすらろくに把握していない
アイコンをダブルクリックする操作から類推する頭がない
2021/05/20(木) 22:09:53.73ID:6elix0QCH
目からビーム
2021/05/20(木) 22:29:51.31ID:3grODMDb0
喉から手
935デフォルトの名無しさん (ワッチョイ cd01-gSvD)
垢版 |
2021/05/20(木) 23:27:14.65ID:PnXLQc6v0
はい、常識だろ、いただきました〜。
ごっつあんです。
2021/05/20(木) 23:59:48.81ID:BLOb04120
良く考えてよ、そんなにVBAが楽だったらそこらじゅうでエキスパートが溢れ帰ってるわ
937デフォルトの名無しさん (ワッチョイ 4e8e-/g3G)
垢版 |
2021/05/21(金) 00:49:19.69ID:59CyTM7+0
>>936
そもそも世の中馬鹿だらけ
938デフォルトの名無しさん (ワッチョイ 8b01-7S+s)
垢版 |
2021/05/21(金) 01:00:38.44ID:QTMvWd2k0
>>937
おまえそれ、あわしろ氏にも言えるの?
939デフォルトの名無しさん (ワッチョイ 4e8e-/g3G)
垢版 |
2021/05/21(金) 01:32:27.01ID:59CyTM7+0
>>938
言えるぞ
そいつは世の中馬鹿だらけという当たり前のことを知らん馬鹿なのか?
940デフォルトの名無しさん (ワッチョイ 8b01-7S+s)
垢版 |
2021/05/21(金) 02:15:25.58ID:QTMvWd2k0
あわしろ氏から見たらお前もバカの一人にすぎないのだが。
941デフォルトの名無しさん (ワッチョイ 4e8e-/g3G)
垢版 |
2021/05/21(金) 02:19:49.30ID:59CyTM7+0
>>940
悔しかったか?
942デフォルトの名無しさん (ワッチョイ caba-lZiV)
垢版 |
2021/05/21(金) 02:25:12.36ID:7tu/wNc+0
ttps://ja.asuka.io/whois/126.31.241.3
の”SoftbankBB ABUSE”を取得したいと思っているのですが、どのようにすればいいのでしょうか?
Dim objIE As InternetExplorer
Set objIE = New InternetExplorer
--省略--
objIE.Document.getElementsByClassName("whois-result")
2021/05/21(金) 05:43:15.48ID:BTMhnzWw0
>>937
そんな。。。いきなしベストアンサー出さなくても。
みんなさ、もうちょいもて遊んでよ(笑)
2021/05/21(金) 05:57:52.66ID:fpWGW1ET0
Ruby のnokogiri でスクレイピングして、
CSS セレクター・正規表現で、2つマッチした

require 'open-uri'
require 'nokogiri'

url = "そのURL"
doc = Nokogiri::HTML( open( url ) )

element = doc.at_css( '#result-126_31_241_3 > span' ) # id の直下のspan

re = /^role:/ # 行頭から

element.content.each_line do | line | # 1行ずつ処理する
line.chomp! # 末尾の改行を削除する

line.match( re ) { |matched| puts line }
end

出力
role: ABUSE SOFTBANKJP
role: SoftbankBB ABUSE
2021/05/21(金) 08:28:08.99ID:QhlqoCTd0
Rubyなんてカーバンクルの頭にめり込んでいるような気持ち悪い名前の言語使うくらいなら
JavascriptとCSSとJQueryの組み合わせでいいと思うの
2021/05/21(金) 08:48:15.27ID:gnmVjeq7H
>>942
roleが2つ以上あった時、どうやって選ぶの?
947デフォルトの名無しさん (ワッチョイ 4e8e-/g3G)
垢版 |
2021/05/21(金) 15:24:51.08ID:xTrBkQ+z0
Ruby馬鹿は>>712のような嘘を書いて逃げる馬鹿
2021/05/21(金) 15:33:03.33ID:BTMhnzWw0
知ったかばっか
2021/05/21(金) 16:32:03.60ID:CZi3W7Lh0
知ったかばっかだと知った
2021/05/21(金) 17:10:27.15ID:IWCymVKS0
VBAを覚え始めて2週間だけど
まだこのスレに書かれているコードの意味が全くわからないwww
でもコード書くの楽しいなって思ってやってます
2021/05/21(金) 19:05:32.27ID:ggQpFO18d
同じだ
自分はVBAエキスパートの勉強してるよ
レス数が950を超えています。1000を超えると書き込みができなくなります。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況