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/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エキスパートの勉強してるよ
2021/05/21(金) 19:59:51.31ID:IWCymVKS0
自分も来月ベーシックうけまーす!
2021/05/21(金) 20:18:27.47ID:BTMhnzWw0
人によってはワークシート関数よりマクロの方が難しいっていう人もいるからね。逆もいるしね。
2021/05/21(金) 20:35:13.20ID:XRGlJQOp0
>>940
誰?
2021/05/21(金) 20:42:52.48ID:bfSFy0HM0
ぼく
2021/05/21(金) 20:43:08.07ID:bfSFy0HM0
うそです
957デフォルトの名無しさん (ワッチョイ caba-lZiV)
垢版 |
2021/05/21(金) 20:43:58.66ID:7tu/wNc+0
perlなどがない環境もあるので、出来ればすべてVBAで出来ないかと考えています。
>>946
roleが2つ以上の場合は一番最後のroleにある値を取得したと考えております。
2021/05/21(金) 22:35:02.45ID:Yczu/9Oq0
左手に電卓を持ち、右手は交互に電卓、マウス、テンキーを使い分ける上司とお局様とその下僕達
その下僕の後輩が自分

これが日本の一部上場企業なのか?
2021/05/22(土) 00:10:21.12ID:UfMUNU1m0
うん。だってエクセルが計算間違えたらどうすんの?
電卓で計算した数字をパソコンに打ち込むのは昔からの伝統だよ
960デフォルトの名無しさん (ワッチョイ 4e8e-/g3G)
垢版 |
2021/05/22(土) 00:36:58.31ID:mcqOhXTe0
馬鹿が作った変な式やマクロのせいで合わないなんてこともある
2021/05/22(土) 00:40:22.69ID:Oef+89DPd
2進数は変な誤差が出るから信用できないってさ
2021/05/22(土) 01:34:41.39ID:S7UeFiS10
初心者がつくったマクロのほうが信用できない
963デフォルトの名無しさん (ワッチョイ 4e8e-/g3G)
垢版 |
2021/05/22(土) 01:44:44.93ID:mcqOhXTe0
>>962
初心者というより、ここで質問しなきゃいけないような馬鹿のことだな
2021/05/22(土) 02:41:18.25ID:S7UeFiS10
あと、悪意のある熟練者が作ったマクロも信用できないけどな
965デフォルトの名無しさん (ワッチョイ 378e-/g3G)
垢版 |
2021/05/22(土) 02:56:17.42ID:vJuB/ZK60
>>964
正しいが悪意を言いだしたらキリがない
馬鹿のくせにで自分には作れると勘違いしている馬鹿も悪意のうちに含めるのならばわからんでもない
無自覚の悪意というこという意味で
2021/05/22(土) 05:49:02.27ID:Tpb6ZbgH0
>>961
Doubleとかの浮動小数点を使う型の場合、IEEE754準拠のために起こるやつのことだね
それは例えば小数点以下4桁までなら通貨型が固定小数点型だから使えるとか
一度割ったときの値が丸めを行うところまで10の倍数掛けて整数桁にしてから計算して、
その後最初に掛けた分で割ってやれば解決するようなことを知らない人が組むとそうなるわけで
別にEXCEL VBAに限ったことじゃないし、組む人の問題だよ
JavaみたいにbigDecimal型とか持ってる言語もあるにはあるけどね

後、VBAでは四捨五入も銀行丸めになるから
それがイヤならWorksheetFunctionでRound使うとかね。
2021/05/22(土) 07:10:12.96ID:UfMUNU1m0
回答者が雑な回答で悪い風潮あるみたいだけど、質問してくる初級者にも問題あるって話
なんでそんな質問してるのだろ?ってのが多いから
2021/05/22(土) 07:51:26.87ID:qSrTa/6NM
分からないことが何か分からないぐらい分からないとそういう質問になるのはよくあることだと思うよ
だから何が分からなくて悩んでいるのかを想像して答えられる範囲で答えるのがベターじゃないかな
それが回答者にとって勉強になる事だってあるだろうし

質問者も答えを咀嚼した上で追加で疑問点が出るなら質問してもらって構わないし、答えを理解できなかったらどの部分が分かりづらかったか聞けばいい
質問スレで何か質問するとバカだのアホだの言われるような質問しづらい雰囲気なのは本末転倒でしょう
2021/05/22(土) 08:18:29.11ID:Tpb6ZbgH0
>>951
昔は仕事でVBAやってれば
あんちょこ本屋で立ち読みして
傾向だけ把握してれば大体受かる
感じだったけど今はどうなの?
2021/05/22(土) 08:18:32.56ID:6qbME2XxH
直接の会話だと不明点を確認しながら進めるのが普通なのに、掲示板だと後出しと言われる風潮はいいかげん頭が固すぎると思うなの
2021/05/22(土) 08:20:17.81ID:GrewoE1S0
そういう奴はかまってちゃん
人を煽ってレスが欲しくてしょうがないんだろうな
2021/05/22(土) 09:04:45.45ID:UfMUNU1m0
文句があるならヤフー知恵袋でやりとりしてください。
絶対答えなきゃいけないなんていう義理は存在しないし
2021/05/22(土) 12:27:49.41ID:S7UeFiS10
>>970
回答してもらっておいて文句いうような奴には教えんよ
2021/05/22(土) 12:43:21.86ID:0H5cNeIlM
>>970
程度問題だろ
ちゃぶ台返しになるような前提を後出しされても困る
2021/05/22(土) 13:15:35.23ID:UfMUNU1m0
文句あるなら他所の質問掲示板へ
レス数が950を超えています。1000を超えると書き込みができなくなります。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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