!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付けるナリ
ExcelのVBAに関する質問スレナリ
コード書き込みや作成依頼もOKナリ
※前スレ
Excel VBA 質問スレ Part70
https://mevius.5ch.net/test/read.cgi/tech/1616072923/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
Excel VBA 質問スレ Part71
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 0f5f-nIK+)
2021/05/25(火) 12:48:01.06ID:mepUVc/i041デフォルトの名無しさん (ワッチョイ 934f-urWM)
2021/05/30(日) 04:10:38.43ID:dB+xSga20 >>40
そういうことはubuntuでEXCELが使えるようになってから言おうね
そういうことはubuntuでEXCELが使えるようになってから言おうね
42デフォルトの名無しさん (ワッチョイ f101-950J)
2021/05/30(日) 04:22:57.14ID:wQMimd0a0 なんのために?
ベンダーロックインされてM$の奴隷になりたいの?
ベンダーロックインされてM$の奴隷になりたいの?
43デフォルトの名無しさん (ワッチョイ 934f-urWM)
2021/05/30(日) 08:12:15.17ID:dB+xSga20 >>42
やっぱりあわしろ教信者の荒らしか
こいつらとRuby信者はわざわざ自分の巣から出張して来て無関係のスレ荒らすから分かり易い
EXCELが動かなきゃEXCEL VBA動かすことが出来ないだろ?
お前が来ているこのスレの名前を100回読み返してみようか。そうすれば多少頭に血の巡りが悪くても少しは理解出来るだろ
やっぱりあわしろ教信者の荒らしか
こいつらとRuby信者はわざわざ自分の巣から出張して来て無関係のスレ荒らすから分かり易い
EXCELが動かなきゃEXCEL VBA動かすことが出来ないだろ?
お前が来ているこのスレの名前を100回読み返してみようか。そうすれば多少頭に血の巡りが悪くても少しは理解出来るだろ
44デフォルトの名無しさん (ササクッテロラ Sp8d-+u6m)
2021/05/30(日) 10:36:06.08ID:Qv4D53KHp 前スレでボロクソに言われた質問(↓)が解決しないので
再度投稿失礼します。
https://i.imgur.com/gYaoIlX.jpg
在庫管理でクロス集計表を使ってるんだけど
配列で取り込んだデータをデータがあったセル位置に戻す時って
どう指定してあげればいいの?
【用途】
納期毎に設定される納品数を在庫から引いて
いつ欠品になるか知りたい
伝わるか分からないけど↓
使ってるフォーマット形式
縦列
部品名
在庫
横
納期
納品数
再度投稿失礼します。
https://i.imgur.com/gYaoIlX.jpg
在庫管理でクロス集計表を使ってるんだけど
配列で取り込んだデータをデータがあったセル位置に戻す時って
どう指定してあげればいいの?
【用途】
納期毎に設定される納品数を在庫から引いて
いつ欠品になるか知りたい
伝わるか分からないけど↓
使ってるフォーマット形式
縦列
部品名
在庫
横
納期
納品数
45デフォルトの名無しさん (ラクッペペ MM4b-hX9V)
2021/05/30(日) 13:00:04.14ID:dinHe+wGM Cells(1,2)=123
46デフォルトの名無しさん (ワッチョイ 2b8e-jepm)
2021/05/30(日) 18:38:27.00ID:Jcut2Kf6047デフォルトの名無しさん (ワッチョイ c14a-5z+j)
2021/05/30(日) 18:55:32.31ID:XECinZnN0 わざわざVBA使わなくてもワークシート関数で出来そうだけど
48デフォルトの名無しさん (ワッチョイ abda-6ypv)
2021/05/30(日) 19:13:48.00ID:jqEflkUS049デフォルトの名無しさん (ワッチョイ 9342-bBgm)
2021/05/30(日) 22:39:10.44ID:UG6QJe9S0 変数 = セルの範囲 を
セルの範囲 = 変数 と逆にするだけ
セルの範囲 = 変数 と逆にするだけ
50デフォルトの名無しさん (ワッチョイ 4101-+u6m)
2021/05/31(月) 01:50:09.05ID:BNAesGOH0 >>49
そのセルの範囲の指定の仕方がいまいちピンと来ません...
そのセルの範囲の指定の仕方がいまいちピンと来ません...
51デフォルトの名無しさん (ワントンキン MM2b-cTQT)
2021/05/31(月) 02:41:09.27ID:dSNiA0NIM >>50
2000ボルトの電気ショックでわかるようになるかもよ
2000ボルトの電気ショックでわかるようになるかもよ
52デフォルトの名無しさん (ワッチョイ 99fd-OJVb)
2021/05/31(月) 07:47:27.27ID:mbhQyuQq0 >>50
配列の変数名をTgtAryとするならば
Range(Sheet1.Сells(LBound(TgtAry,1),LBound(TgtAry,2)),Sheet1.Сells(UBound(TgtAry,1),UBound(TgtAry,2)))
で範囲指定できないかな?
配列の変数名をTgtAryとするならば
Range(Sheet1.Сells(LBound(TgtAry,1),LBound(TgtAry,2)),Sheet1.Сells(UBound(TgtAry,1),UBound(TgtAry,2)))
で範囲指定できないかな?
53デフォルトの名無しさん (ワッチョイ d3b1-wI0J)
2021/05/31(月) 09:27:03.82ID:q4AGCTmE0 >>52
そいつはsubからend subまで書いてやらんと分からんやろ
そいつはsubからend subまで書いてやらんと分からんやろ
54デフォルトの名無しさん (アウアウウー Sac5-cpin)
2021/05/31(月) 11:04:15.17ID:siYzGVpEa55デフォルトの名無しさん (アウアウウー Sac5-cpin)
2021/05/31(月) 11:07:53.40ID:siYzGVpEa57デフォルトの名無しさん (テテンテンテン MM4b-Q+hs)
2021/06/01(火) 10:59:42.70ID:FQ8UQ8zIM Workbook_Openで表の処理とその上書き保存(ActiveWorkbook.Save)を同時にこなしてるのですが、直後になぜか.savedがTrueになりません。
しかしその後もう一度手動でWorkboon_Openの中身を実行すると、今度はTrueになります。
上書き保存の可否を聞かれずにファイルを閉じたいのにいちいち聞かれて困っております。どうしたらよいのでしょうか?
しかしその後もう一度手動でWorkboon_Openの中身を実行すると、今度はTrueになります。
上書き保存の可否を聞かれずにファイルを閉じたいのにいちいち聞かれて困っております。どうしたらよいのでしょうか?
58デフォルトの名無しさん (ブーイモ MM75-OJVb)
2021/06/01(火) 11:40:20.38ID:5+ZhhpdnM ひとまずOpenイベントの頭にStop書いてブレイクポイント作ったら開き直してイミディエイトウィンドウにDebug.Print Workbook.Savedって書いたら
F8押して、イミディエイトのDebug.Printの行末をクリックしてEnter、F8押して、イミディエイトのDebug.Printの行末をクリックしてEnter
ってやってみてもWorkbook.Saveの行でTrueになってないか見てみ?
F8押して、イミディエイトのDebug.Printの行末をクリックしてEnter、F8押して、イミディエイトのDebug.Printの行末をクリックしてEnter
ってやってみてもWorkbook.Saveの行でTrueになってないか見てみ?
59デフォルトの名無しさん (テテンテンテン MM4b-Q+hs)
2021/06/01(火) 13:01:26.91ID:FQ8UQ8zIM >>58
Savedの行以降、確かにFalseからTrueになってるし、
Workbook_OpenのEnd Sub直前にStop入れてDebugで確認してもTrueでした。
なのに、End SubをまたぐとFalseになります。
Savedの行以降、確かにFalseからTrueになってるし、
Workbook_OpenのEnd Sub直前にStop入れてDebugで確認してもTrueでした。
なのに、End SubをまたぐとFalseになります。
60デフォルトの名無しさん (テテンテンテン MM4b-Q+hs)
2021/06/01(火) 13:02:39.34ID:FQ8UQ8zIM61デフォルトの名無しさん (ワッチョイ 934f-urWM)
2021/06/01(火) 13:31:04.27ID:sclbkM2r062デフォルトの名無しさん (アウアウウー Sac5-togR)
2021/06/01(火) 14:22:21.55ID:XqGhUQMKa Openの時はActiveじゃないんじゃない
63デフォルトの名無しさん (ブーイモ MM75-OJVb)
2021/06/01(火) 15:42:35.04ID:5+ZhhpdnM ActiveWorkbookじゃなくてThisWorkbookの方が確実ではあると思うけどEnd Subを跨いだ瞬間に変更フラッグが立ってるのがいまいち分からんなぁ
64デフォルトの名無しさん (JP 0H75-B6Af)
2021/06/01(火) 16:11:11.07ID:Mb6qCGemH 裏で動かすマクロは、常にオブジェクトを明示しないとバグの元になる
ActiveSheetとか使うと高確率で誤爆する
ActiveSheetとか使うと高確率で誤爆する
65デフォルトの名無しさん (テテンテンテン MM4b-Q+hs)
2021/06/01(火) 17:18:36.32ID:Oa7oH/5MM ThisWorkbookにしたり、わざわざSavedにTrueを代入してやっても、End sub をまたぐとやはりFalseになってる……
皆さん指摘の通りなんかブックの指定にミスがあるかもしれないので、もう少し色々試してみます
皆さん指摘の通りなんかブックの指定にミスがあるかもしれないので、もう少し色々試してみます
66デフォルトの名無しさん (ブーイモ MM75-OJVb)
2021/06/01(火) 17:24:45.60ID:5+ZhhpdnM まずないとは思うがSaveの前にDoEvents挟んでみるとかはどう
67デフォルトの名無しさん (JP 0H75-B6Af)
2021/06/01(火) 17:57:51.45ID:Mb6qCGemH わからない時はdebug.printしまくる
68デフォルトの名無しさん (アウアウウー Sac5-togR)
2021/06/01(火) 18:14:30.31ID:XqGhUQMKa Openイベントが終わったの後に変更があるとか?
例えばピボットの「開いた時に更新する」とか
例えばピボットの「開いた時に更新する」とか
69デフォルトの名無しさん (ワッチョイ 934f-urWM)
2021/06/01(火) 18:44:16.50ID:sclbkM2r070デフォルトの名無しさん (バットンキン MMd3-b/bb)
2021/06/01(火) 19:21:51.78ID:lbMsn5ZmM VBAでIEを操作したい。エレメント内のonclickにJavaScriptが設定されてて、引数がthisなんだ。これはどういうコードかいたらJavaScriptがうごく?
71デフォルトの名無しさん (ワッチョイ e1ac-eXPu)
2021/06/01(火) 19:24:00.82ID:vHFZ5Ijm0 いまだにIEとか
72デフォルトの名無しさん (ブーイモ MM75-WbRb)
2021/06/01(火) 19:45:29.62ID:J2N8rWTYM スクリプト動かす必要があるなら泥沼だからやめとけ
SeleniumかRPAかなんかでクリックをエミュレートしろ
SeleniumかRPAかなんかでクリックをエミュレートしろ
73デフォルトの名無しさん (JP 0H75-B6Af)
2021/06/01(火) 20:08:45.76ID:Mb6qCGemH >>70
JacascriptそのままNavigateでたいがい動くけど、実際に試してみた?
JacascriptそのままNavigateでたいがい動くけど、実際に試してみた?
74デフォルトの名無しさん (ブーイモ MM75-zLiZ)
2021/06/01(火) 20:57:47.91ID:e0ELXQMnM VBAでChromeを動かす方法はありますか?
75デフォルトの名無しさん (スププ Sdb3-YvNE)
2021/06/01(火) 22:41:37.93ID:u+h0cgO6d VBA Chromeでググれば色々でるが
お前がどう動かしたいか答えるのはエスパーしか無理
お前がどう動かしたいか答えるのはエスパーしか無理
76デフォルトの名無しさん (テテンテンテン MM4b-WbRb)
2021/06/01(火) 23:08:53.66ID:h5EIZiJKM Chrome使っていいんだったらエクステンション作ればよくね
VBAに固執する意味がない
VBAに固執する意味がない
77デフォルトの名無しさん (スプッッ Sd2d-ejzC)
2021/06/02(水) 10:29:31.20ID:6cAiGaxYd A列は途中で未記入の行は無し。B列以降は行によって列範囲は不明。途中の抜けは無し。この条件で一番右まで記入されている列は何列目なのかを知る方法をご教示願います。
この列の右に別の列を追加したいのです。
この列の右に別の列を追加したいのです。
78デフォルトの名無しさん (JP 0H75-6ypv)
2021/06/02(水) 11:11:55.45ID:Xo9eImhQH >>77
UsedRange.Column
UsedRange.Column
79デフォルトの名無しさん (ワッチョイ 9301-F81p)
2021/06/02(水) 11:20:06.26ID:Kwk6Ddry0 VBAでIE動かしたいっていうのは社内システムの操作じゃね
自動化しようにもそれしか選択肢がないっていうケース
自動化しようにもそれしか選択肢がないっていうケース
80デフォルトの名無しさん (JP 0H75-6ypv)
2021/06/02(水) 11:27:04.16ID:Xo9eImhQH そういうのは末端の社員が勝手に自動化して楽しようとしてるケースに限られる
そうでなければシステム部とか管理部がちゃんと対応してくれるはずだし
そうでなければシステム部とか管理部がちゃんと対応してくれるはずだし
81デフォルトの名無しさん (ワッチョイ 9301-F81p)
2021/06/02(水) 11:35:10.46ID:Kwk6Ddry0 末端しかこんなところにはこねーよ
82デフォルトの名無しさん (ワッチョイ 518f-w12y)
2021/06/02(水) 11:40:00.72ID:IWT/q5/E0 IEが2022/6/15にサポート終了する件なんだけど、VBAのIE操作もできなくなるの?
83デフォルトの名無しさん (ワッチョイ 934f-urWM)
2021/06/02(水) 11:40:36.31ID:y9OF8J1M084デフォルトの名無しさん (JP 0H75-6ypv)
2021/06/02(水) 12:15:32.36ID:Xo9eImhQH85デフォルトの名無しさん (ワッチョイ 518f-w12y)
2021/06/02(水) 12:23:59.65ID:IWT/q5/E0 >84
そうだとありがたいんだよね。
ただ記事で「2022年6月16日になっても、iexplore.exeは削除されないものの、アクセスしようとするとIE11は起動せずEdgeにリダイレクトされる」って書いてあったから不安なんだ
そうだとありがたいんだよね。
ただ記事で「2022年6月16日になっても、iexplore.exeは削除されないものの、アクセスしようとするとIE11は起動せずEdgeにリダイレクトされる」って書いてあったから不安なんだ
86デフォルトの名無しさん (ラクッペペ MM4b-hX9V)
2021/06/02(水) 13:20:52.87ID:JznBaFAoM createObjectで呼び出すんじゃないの?
87デフォルトの名無しさん (JP 0H75-6ypv)
2021/06/02(水) 16:05:40.28ID:Xo9eImhQH アプリは起動できなくされるけど、オブジェクトはさわれると予想
MS-Officeがもともとそういう構造だったし
MS-Officeがもともとそういう構造だったし
88デフォルトの名無しさん (ワッチョイ b95f-jY/U)
2021/06/02(水) 16:34:22.01ID:5rGltuVI0 ieが来年サポート終了するからchromeとseleniumで動かして見ようと思ったら
webdriverが若干古いのしか公開されてなくて詰んだ
頻繁に更新するchromeをどうやって制御すりゃいいんだよ…
webdriverが若干古いのしか公開されてなくて詰んだ
頻繁に更新するchromeをどうやって制御すりゃいいんだよ…
89デフォルトの名無しさん (オッペケ Sr8d-Q+hs)
2021/06/02(水) 23:09:59.70ID:qivQYfz/r すみません、教えてください
配列の一部の最大値を取得する方法ってないでしょうか?
例えば二次元配列で
a(1,1)=1
a(2,1)=2
a(3,1)=3
‥
a(100,1)=100
という配列があったとして、a(10,1)〜a(20,1)の間の最大値を出す方法です
for文で調べたい配列すべて調べて最大値を出す方法しか思い付かないのですが、他に方法はないでしょうか?
配列の一部の最大値を取得する方法ってないでしょうか?
例えば二次元配列で
a(1,1)=1
a(2,1)=2
a(3,1)=3
‥
a(100,1)=100
という配列があったとして、a(10,1)〜a(20,1)の間の最大値を出す方法です
for文で調べたい配列すべて調べて最大値を出す方法しか思い付かないのですが、他に方法はないでしょうか?
90デフォルトの名無しさん (ワッチョイ 9342-bBgm)
2021/06/02(水) 23:12:53.59ID:GkUPJJQl0 それはギャグで言ってるのか
91デフォルトの名無しさん (ワッチョイ 934f-urWM)
2021/06/02(水) 23:43:12.68ID:y9OF8J1M0 Rubyなら何ちゃらかんちゃらの前置きだろ
92デフォルトの名無しさん (ワッチョイ abda-6ypv)
2021/06/02(水) 23:59:28.51ID:6j/qqwIU0 >>89
全部の配列を一旦シートにコピーして関数つかえばいいんじゃね
全部の配列を一旦シートにコピーして関数つかえばいいんじゃね
93デフォルトの名無しさん (ワッチョイ 2b8e-jepm)
2021/06/03(木) 00:15:46.47ID:bA/gzbc70 >>89
死ね
死ね
94デフォルトの名無しさん (ワッチョイ 512c-0h5H)
2021/06/03(木) 02:19:06.04ID:Ers5yK+g0 >>88
Ruby には、Webdriver を自動的にダウンロードする、モジュール・gem がある。
タスクランナーみたいなもの
ブラウザの起動前に、ブラウザのバージョンを調べて、
Webdriver のバージョンが、それと一致しない場合、
それと一致するWebdriver をダウンロードしてから、処理を開始する
Ruby には、Webdriver を自動的にダウンロードする、モジュール・gem がある。
タスクランナーみたいなもの
ブラウザの起動前に、ブラウザのバージョンを調べて、
Webdriver のバージョンが、それと一致しない場合、
それと一致するWebdriver をダウンロードしてから、処理を開始する
95デフォルトの名無しさん (スップ Sdf3-6ypv)
2021/06/03(木) 03:06:46.55ID:WSKbBpAyd まともな企業のLANだとネットアクセスとかダウンロードに制限かかってそう
96デフォルトの名無しさん (ワッチョイ d97c-D/jZ)
2021/06/03(木) 10:13:44.82ID:oKNqyVQK0 臀痛は5ch繋がらないω
97デフォルトの名無しさん (ワッチョイ 934f-urWM)
2021/06/03(木) 11:26:30.81ID:jnApLDzu098デフォルトの名無しさん (ブーイモ MMab-OJVb)
2021/06/03(木) 11:51:09.60ID:B6Wkxzx6M 申請なしに何かをインストールする事も出来ないし、申請しても通らないから業務の効率化ってなるとソフトウェア開発の部署に発注するかVBAで作る以外の選択肢がない
9994 (ワッチョイ 512c-0h5H)
2021/06/03(木) 12:27:51.20ID:Ers5yK+g0 自動更新するのは、個人のサイトとか
ちゃんとした企業の本番環境では、毎週1回テストしてから、モジュール・gemを更新する。
そもそも、ブラウザも自動更新しない
gemの更新を貯めないように。
基本は、毎週1回テストしてから更新する
これをやっていない会社は、運用しているとは言えない。
ほったらかし
ちゃんとした企業の本番環境では、毎週1回テストしてから、モジュール・gemを更新する。
そもそも、ブラウザも自動更新しない
gemの更新を貯めないように。
基本は、毎週1回テストしてから更新する
これをやっていない会社は、運用しているとは言えない。
ほったらかし
100デフォルトの名無しさん (アウアウウー Sac5-g3z+)
2021/06/03(木) 12:29:19.02ID:OO42x4fga そう上司にいえばやらんですむんじゃね
101デフォルトの名無しさん (ワッチョイ 934f-urWM)
2021/06/03(木) 12:47:20.61ID:jnApLDzu0 >>99
はー、都度テストするとはご苦労なこった
つまり大きなシステムになるとその分、
Rubyの場合は毎週テストに労力と人員割いて
金掛けて実施しないとダメってことか
かなり大きな会社じゃないとそこまで融通効かないだろうな
はー、都度テストするとはご苦労なこった
つまり大きなシステムになるとその分、
Rubyの場合は毎週テストに労力と人員割いて
金掛けて実施しないとダメってことか
かなり大きな会社じゃないとそこまで融通効かないだろうな
102デフォルトの名無しさん (スップ Sdf3-B4oC)
2021/06/03(木) 13:13:14.99ID:4GINtqWnd >>98
PowerShell便利だぞ
PowerShell便利だぞ
10394 (ワッチョイ 512c-0h5H)
2021/06/03(木) 13:36:20.37ID:Ers5yK+g0 毎週、モジュールを更新するのは基本。
更新を貯めたら、保守・修正できなくなるので、ダメ。
こまめに・ちょくちょく更新
例えば、サイボウズ・Kintone は、
Kubernetes で毎日システムを作り直しているとか、
Netflix は毎日、わざとシステムを攻撃して、落としてテストしたりする
ちゃんと運用していない会社は、更新をほったらかしにしてる
更新を貯めたら、保守・修正できなくなるので、ダメ。
こまめに・ちょくちょく更新
例えば、サイボウズ・Kintone は、
Kubernetes で毎日システムを作り直しているとか、
Netflix は毎日、わざとシステムを攻撃して、落としてテストしたりする
ちゃんと運用していない会社は、更新をほったらかしにしてる
10494 (ワッチョイ 512c-0h5H)
2021/06/03(木) 13:46:13.92ID:Ers5yK+g0 毎週1回、OS の更新も大変だから、
サーバーレス・自分でOSを管理しない、AWS Fargate を使えと言われる。
AWSが、OSの更新をやってくれるから
だから、YouTube で有名な、雑食系エンジニア・KENTA の、
Ruby on Rails 初心者用コースに、AWS Fargate も入っている
それで皆、くろかわこうへいのサロンで、AWSを勉強する
Railsも今まで1人で、Heroku で作っていたのが、
Fargate, Terraform に変わってきてる
今の1年の未経験者は、10年以上のプロよりも、技術力が上になってる
サーバーレス・自分でOSを管理しない、AWS Fargate を使えと言われる。
AWSが、OSの更新をやってくれるから
だから、YouTube で有名な、雑食系エンジニア・KENTA の、
Ruby on Rails 初心者用コースに、AWS Fargate も入っている
それで皆、くろかわこうへいのサロンで、AWSを勉強する
Railsも今まで1人で、Heroku で作っていたのが、
Fargate, Terraform に変わってきてる
今の1年の未経験者は、10年以上のプロよりも、技術力が上になってる
105デフォルトの名無しさん (ワッチョイ 934f-urWM)
2021/06/03(木) 14:22:18.35ID:jnApLDzu010694 (ワッチョイ 512c-0h5H)
2021/06/03(木) 14:37:37.44ID:Ers5yK+g0 KENTA・くろかわこうへい、Udemy の人気講師・山浦清透などが現れて、
Ruby on Rails の教育革命が起こった
ものすごい短期間で、効率的に学べる。
それで、1年ぐらい勉強した未経験者が、10年以上のプロよりも、技術力が上になった
東大合格マンガ「ドラゴン桜」みたいなもの
今の未経験者は、Docker Compose も必須
Ruby on Rails の教育革命が起こった
ものすごい短期間で、効率的に学べる。
それで、1年ぐらい勉強した未経験者が、10年以上のプロよりも、技術力が上になった
東大合格マンガ「ドラゴン桜」みたいなもの
今の未経験者は、Docker Compose も必須
107デフォルトの名無しさん (ワッチョイ f101-2Cmt)
2021/06/03(木) 19:23:17.96ID:TUnqxA7B0108デフォルトの名無しさん (ワッチョイ 9302-4Wjq)
2021/06/03(木) 20:56:05.21ID:uLpHnOIZ0 効率化できるけど使うやつらが池沼で勉強した意味なかったな
109デフォルトの名無しさん (ワッチョイ 9342-bBgm)
2021/06/03(木) 21:12:55.36ID:L0NZ98mH0 効率化よりもいかにシートの内容を壊されないようにするかの工夫ばかり必要なパターンだな
110デフォルトの名無しさん (ワッチョイ abda-6ypv)
2021/06/03(木) 22:14:51.09ID:D5fnCzXq0 自力でできることを質問した場合、解答がなくても困らんだろ
111デフォルトの名無しさん (ワッチョイ f101-2Cmt)
2021/06/03(木) 22:50:40.18ID:TUnqxA7B0 >>98
発注出来る開発部署があるなら、そっちに投げた方が楽なんじゃ?
発注出来る開発部署があるなら、そっちに投げた方が楽なんじゃ?
112デフォルトの名無しさん (JP 0H39-IO17)
2021/06/04(金) 01:48:20.45ID:JjzCcUaXH 朗報
やっぱりオブジェクトは残る
> MSHTML(Trident)エンジンに関しても、互換性維持のため
> すぐに削除されることはない。OS内部に「IE 11」由来の
> 機能は残る。「WebBrowser」コントロールを利用するアプリも
> 引き続き利用できる。
https://i.imgur.com/BWnVYki.png
やっぱりオブジェクトは残る
> MSHTML(Trident)エンジンに関しても、互換性維持のため
> すぐに削除されることはない。OS内部に「IE 11」由来の
> 機能は残る。「WebBrowser」コントロールを利用するアプリも
> 引き続き利用できる。
https://i.imgur.com/BWnVYki.png
113デフォルトの名無しさん (ワッチョイ 09fd-E4sj)
2021/06/04(金) 01:56:50.63ID:/SvJ4cKr0 >>111
別部署とのお金のやり取りが発生するからメチャクチャ渋るぞ
別部署とのお金のやり取りが発生するからメチャクチャ渋るぞ
114デフォルトの名無しさん (ワッチョイ 2501-kwJE)
2021/06/04(金) 02:06:55.76ID:ggq9OdP30 >>113
そんなん会社ごとによるし俺に言われても
そんなん会社ごとによるし俺に言われても
115デフォルトの名無しさん (ワッチョイ 6ddb-9b/0)
2021/06/04(金) 12:36:18.19ID:tGFTJ4F20 最初は、動いていたのですが、
そのうち、毎回6行目でエラーが出るようになってしまいました。
例えば
D5セルに入力した3桁の数字をした時に
D7に百の位、E7に十の位、F7に一の位を表示させたいのです。
入力した結果を見て、再入力することもあるので
関数⇒値貼り付けはやりたくないのです。
できれば、どなたかご教授をお願いします。
ファイルのシートは1枚のみです。
【1 OSの種類 】 Windows10
【2 Excelのバージョン】 office365
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Long
If (Target.Row >= 5 And Target.Row <= 161) And (Target.Row Mod 4 = 1) And (Target.Column = 4) Then
r = Target.Row
Cells(r + 2, 4) = Cells(r, 4) \ 100
Cells(r + 2, 5) = Cells(r, 4) \ 10 Mod 10 ← 実行時エラー1004
Cells(r + 2, 6) = Cells(r, 4) Mod 10
End If
End Sub
そのうち、毎回6行目でエラーが出るようになってしまいました。
例えば
D5セルに入力した3桁の数字をした時に
D7に百の位、E7に十の位、F7に一の位を表示させたいのです。
入力した結果を見て、再入力することもあるので
関数⇒値貼り付けはやりたくないのです。
できれば、どなたかご教授をお願いします。
ファイルのシートは1枚のみです。
【1 OSの種類 】 Windows10
【2 Excelのバージョン】 office365
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Long
If (Target.Row >= 5 And Target.Row <= 161) And (Target.Row Mod 4 = 1) And (Target.Column = 4) Then
r = Target.Row
Cells(r + 2, 4) = Cells(r, 4) \ 100
Cells(r + 2, 5) = Cells(r, 4) \ 10 Mod 10 ← 実行時エラー1004
Cells(r + 2, 6) = Cells(r, 4) Mod 10
End If
End Sub
116デフォルトの名無しさん (ワッチョイ 6ddb-9b/0)
2021/06/04(金) 12:48:38.27ID:tGFTJ4F20 >>115
補足
最初、エラーが出たやつ
Cells(r + 2, 4) = Left(Cells(r, 4).Text, 1)
Cells(r + 2, 5) = Mid(Cells(r, 4).Text, 2, 1)
Cells(r + 2, 6) = Right(Cells(r, 4).Text, 1)
修正しても
Cells(r + 2, 4) = Cells(r, 4) \ 100
Cells(r + 2, 5) = Cells(r, 4) \ 10 Mod 10 ← 実行時エラー1004
Cells(r + 2, 6) = Cells(r, 4) Mod 10
補足
最初、エラーが出たやつ
Cells(r + 2, 4) = Left(Cells(r, 4).Text, 1)
Cells(r + 2, 5) = Mid(Cells(r, 4).Text, 2, 1)
Cells(r + 2, 6) = Right(Cells(r, 4).Text, 1)
修正しても
Cells(r + 2, 4) = Cells(r, 4) \ 100
Cells(r + 2, 5) = Cells(r, 4) \ 10 Mod 10 ← 実行時エラー1004
Cells(r + 2, 6) = Cells(r, 4) Mod 10
117デフォルトの名無しさん (エムゾネ FFea-DLda)
2021/06/04(金) 12:49:56.32ID:UUHTR6cxF >>115-116
そのうちまた動くようになるさ
そのうちまた動くようになるさ
118デフォルトの名無しさん (ワッチョイ a149-oUQE)
2021/06/04(金) 12:50:19.85ID:4IT3M2Hh0 シートを保護したまま動かす前提で、何か色々修正したときに
E7のロックをうっかりONにしてしまったとか。
E7のロックをうっかりONにしてしまったとか。
119デフォルトの名無しさん (ワッチョイ 6ddb-9b/0)
2021/06/04(金) 13:06:45.09ID:tGFTJ4F20 >>118
ありがとうございます。
どうやらそれらしいです。
頑張ってみます。
ありがとうございます。
どうやらそれらしいです。
頑張ってみます。
120デフォルトの名無しさん (スップ Sdea-PlKh)
2021/06/04(金) 16:43:12.67ID:0sw3CVWxd >>115
Private Sub Worksheet_Change(ByVal Target As Range)
Dim n, n1, n2, n3 As Integer
If Target.AddressLocal = "$D$4" Then
If IsNumeric(Target.Value) Then
n = Target.Value
n1 = n \ 100
n2 = n \ 10 Mod 10
n3 = n Mod 10
Me.Range("D7").Value = n1
Me.Range("E7").Value = n2
Me.Range("F7").Value = n3
End If
End If
End Sub
もう見てないかもしれないけど、どうぞ。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim n, n1, n2, n3 As Integer
If Target.AddressLocal = "$D$4" Then
If IsNumeric(Target.Value) Then
n = Target.Value
n1 = n \ 100
n2 = n \ 10 Mod 10
n3 = n Mod 10
Me.Range("D7").Value = n1
Me.Range("E7").Value = n2
Me.Range("F7").Value = n3
End If
End If
End Sub
もう見てないかもしれないけど、どうぞ。
121デフォルトの名無しさん (ワッチョイ 8578-wkOw)
2021/06/04(金) 17:55:39.07ID:Ca/vMZLe0 それだとn3 だけがintegerになるんじゃね
122デフォルトの名無しさん (ワッチョイ 2d3d-d+P4)
2021/06/04(金) 18:05:42.24ID:Bit4dpt50 >>120
n3以外Variantでいいの?
n3以外Variantでいいの?
123デフォルトの名無しさん (テテンテンテン MMde-0Hzh)
2021/06/05(土) 09:03:08.07ID:rlNy9EJ3M 基本が出来てない典型
124デフォルトの名無しさん (ササクッテロラ Sped-q291)
2021/06/05(土) 09:19:02.29ID:6nlrivgRp 基本が出来ていなくても何となく動いてしまう
それがVBA
それがVBA
125デフォルトの名無しさん (ワッチョイ ca01-U9S2)
2021/06/05(土) 10:37:53.55ID:qQr0HMbe0 あの書き方でよしとするネット情報が多くておれも最初間違えてたわ
126デフォルトの名無しさん (ワッチョイ 4abd-lji7)
2021/06/05(土) 11:01:57.88ID:w++2yo+P0 VBAで、QueryTableを使ってUTF-8のCSVを読み込ませてるんですが、
この読み込みのマクロを使った後に、そのxlsmファイルを開いたままの状態で、何か別のCSVファイルを手動で開くと
中の2バイト文字がグチャグチャに文字化けされてしまいます
xlsmを閉じてからだと何の問題もないんですが、作業してるとちょっと不便なんですが原因は何なのでしょうか?
この読み込みのマクロを使った後に、そのxlsmファイルを開いたままの状態で、何か別のCSVファイルを手動で開くと
中の2バイト文字がグチャグチャに文字化けされてしまいます
xlsmを閉じてからだと何の問題もないんですが、作業してるとちょっと不便なんですが原因は何なのでしょうか?
127デフォルトの名無しさん (ワッチョイ c6da-IO17)
2021/06/05(土) 13:08:34.35ID:X22osQ9q0128デフォルトの名無しさん (ワッチョイ 86da-IO17)
2021/06/05(土) 13:18:33.33ID:+aLYn71C0 >>126
後段の「何か別のCSVファイルを手動で」は、
・別のbook(.xlsx)からPowerQueryでのcsv読込み?
・それともcsvファイルをダブルクリックで直接開き?
PowerQueryでのcsv読込みなら
エンコードを一度自動認識で読み込んでも
後からステップの「ソース」の設定(歯車または詳細エディター)で
固定することも出来るけど・・・
後段の「何か別のCSVファイルを手動で」は、
・別のbook(.xlsx)からPowerQueryでのcsv読込み?
・それともcsvファイルをダブルクリックで直接開き?
PowerQueryでのcsv読込みなら
エンコードを一度自動認識で読み込んでも
後からステップの「ソース」の設定(歯車または詳細エディター)で
固定することも出来るけど・・・
129デフォルトの名無しさん (JP 0H39-IO17)
2021/06/05(土) 13:51:45.19ID:PrzcCeEoH 入力の手間や長くなるのが嫌なら
Dim n%, n1%, n2%, n3%
で全部Integerになる
Dim n%, n1%, n2%, n3%
で全部Integerになる
130デフォルトの名無しさん (ワッチョイ 4abd-lji7)
2021/06/05(土) 14:28:09.00ID:w++2yo+P0 >>128
済みません、VBAでQueryTableを使ってUTF-8のCSVをシートに読み込んだ後、適当なShift-JISのCSVファイルをダブルクリックして直に開くと
開いたCSVの中の2バイト文字が文字化けしています
Excelで開いてるウィンドウを全部閉じてから、CSVを開き直すと文字化けしていません
済みません、VBAでQueryTableを使ってUTF-8のCSVをシートに読み込んだ後、適当なShift-JISのCSVファイルをダブルクリックして直に開くと
開いたCSVの中の2バイト文字が文字化けしています
Excelで開いてるウィンドウを全部閉じてから、CSVを開き直すと文字化けしていません
131デフォルトの名無しさん (ワッチョイ c1da-wkOw)
2021/06/05(土) 15:56:52.45ID:Ko2adBFs0 マクロだけじゃない、Excel全体は基礎ができてないとすぐ壁にぶち当たる
132デフォルトの名無しさん (ワッチョイ 355f-/CHb)
2021/06/05(土) 16:25:26.38ID:eGJ4gYzF0 基礎って何ですか?
133デフォルトの名無しさん (ブーイモ MM39-K8+H)
2021/06/05(土) 16:45:34.26ID:QYWEL8gWM134デフォルトの名無しさん (ワッチョイ ca4f-q291)
2021/06/05(土) 22:09:51.31ID:fW5GrJR10 例えばVBAの基礎と言えば
・モジュールの先頭にはOption Explisit書いて全ての型は明示的に記述すること。
・行、列を扱うときは使用範囲の最大値を考慮してIntegerでなくLong型で定義すること。
・モジュール、関数、変数の名称は一見して何を意味しているのか分かるようにつけること。
・モジュール、メソッド、関数には複数の役割を持たせて作らないこと。
・基本、ひとつの変数に複数の型のインスタンスを代入する場合、Object型を使わずにインターフェースを作成して代入すること。
・グローバル変数は使用せず、プロパティを使用すること。
・VBA上では四捨五入を求めるROUNDは銀行丸めなので必要に応じてWorksheetFunctionのROUNDを使うこと
小数点以下の計算を行う場合、DoubleやSingle型は浮動小数点数扱いでIEEE754準拠のため誤差が発生
することがあることを念頭においておくこと。
まだまだ沢山あるけど
人や会社の厳しさや緩さによって多少は変わるけど
こういった最初の内から押さえていないとマズいことだと思う。
・モジュールの先頭にはOption Explisit書いて全ての型は明示的に記述すること。
・行、列を扱うときは使用範囲の最大値を考慮してIntegerでなくLong型で定義すること。
・モジュール、関数、変数の名称は一見して何を意味しているのか分かるようにつけること。
・モジュール、メソッド、関数には複数の役割を持たせて作らないこと。
・基本、ひとつの変数に複数の型のインスタンスを代入する場合、Object型を使わずにインターフェースを作成して代入すること。
・グローバル変数は使用せず、プロパティを使用すること。
・VBA上では四捨五入を求めるROUNDは銀行丸めなので必要に応じてWorksheetFunctionのROUNDを使うこと
小数点以下の計算を行う場合、DoubleやSingle型は浮動小数点数扱いでIEEE754準拠のため誤差が発生
することがあることを念頭においておくこと。
まだまだ沢山あるけど
人や会社の厳しさや緩さによって多少は変わるけど
こういった最初の内から押さえていないとマズいことだと思う。
135デフォルトの名無しさん (ワッチョイ c6da-IO17)
2021/06/05(土) 22:10:33.71ID:X22osQ9q0 >>130
問題が起きないように使えばいいのでは?
問題が起きないように使えばいいのでは?
136デフォルトの名無しさん (スプッッ Sd72-9b/0)
2021/06/05(土) 22:37:56.35ID:NS39OhGXd137デフォルトの名無しさん (ワッチョイ 4a10-p9zx)
2021/06/05(土) 22:53:56.98ID:zpL5HDoS0 RowがLongなのはわかるけど、
ColumnはIntegerで足りね?
ColumnはIntegerで足りね?
138デフォルトの名無しさん (ワッチョイ 355f-pu9w)
2021/06/05(土) 22:58:04.78ID:OxA9wcds0 WindowsAPIのmciSendString関数を使おうとサンプルコードを見ているのですが、
Callで呼び出さずにrc=と記述されたものばかり見受けられます。
rc=の意味を調べてもなかなか回答が見つからず…これって何なのでしょうか。
Callで呼び出さずにrc=と記述されたものばかり見受けられます。
rc=の意味を調べてもなかなか回答が見つからず…これって何なのでしょうか。
139デフォルトの名無しさん (JP 0H39-IO17)
2021/06/05(土) 23:01:50.30ID:PrzcCeEoH >>138
return code
return code
140デフォルトの名無しさん (ワッチョイ 86da-IO17)
2021/06/05(土) 23:05:55.78ID:+aLYn71C0 1つのbookにシート数44、1シートに1クエリーがあり、
「すべて更新」ボタンでやると部分的にクエリー更新に失敗することが多いため、
一覧表作ってシート名とクエリー名を変数にして
For To Next で順番にクエリーを更新していくマクロを組んだ。
それまではちゃんと機能していたものの、シートの改造・追加・並び替えをしたら、
実行時エラー '-2147319767 (80028029)':
オートメーション エラーです。
無効な前方参照か、コンパイルされていない種類への参照です。
と、エラーが出て途中で止まったでござる。
検索すると「メモリーの使いすぎ?」みたいな話はヒットするも、よくわからず。
プロジェクトエクスプローラー眺めてて、
「シートの順番入れ替えたりしたので、シート名の順番がぐちゃぐちゃになってるな・・・」
と、各シートのプロパティで、
sheet01 (○○○)、sheet02 (□□□)、sheet03 (△△△)・・・
と直してみたら、今度はエラーも出ず、1発で44クエリーが最後までマクロが実行されてもうた。
Dim tblQ As ListObject ' 対象となるクエリーの変数宣言
Dim ws As String ' sheet名の文字列変数宣言
Dim q As String ' クエリー名の文字列変数宣言
(中略)
Set tblQ = ThisWorkbook.Worksheets(ws).ListObjects(q) ←ここで止まった
tblQ.QueryTable.Refresh BackgroundQuery:=False
としてたのだけど、sheet名がマクロの実行順に並んでいないと、
VBAはwsやqの検索に失敗することがある (特にシート数が多い場合)
という理解でいいのかな?
「すべて更新」ボタンでやると部分的にクエリー更新に失敗することが多いため、
一覧表作ってシート名とクエリー名を変数にして
For To Next で順番にクエリーを更新していくマクロを組んだ。
それまではちゃんと機能していたものの、シートの改造・追加・並び替えをしたら、
実行時エラー '-2147319767 (80028029)':
オートメーション エラーです。
無効な前方参照か、コンパイルされていない種類への参照です。
と、エラーが出て途中で止まったでござる。
検索すると「メモリーの使いすぎ?」みたいな話はヒットするも、よくわからず。
プロジェクトエクスプローラー眺めてて、
「シートの順番入れ替えたりしたので、シート名の順番がぐちゃぐちゃになってるな・・・」
と、各シートのプロパティで、
sheet01 (○○○)、sheet02 (□□□)、sheet03 (△△△)・・・
と直してみたら、今度はエラーも出ず、1発で44クエリーが最後までマクロが実行されてもうた。
Dim tblQ As ListObject ' 対象となるクエリーの変数宣言
Dim ws As String ' sheet名の文字列変数宣言
Dim q As String ' クエリー名の文字列変数宣言
(中略)
Set tblQ = ThisWorkbook.Worksheets(ws).ListObjects(q) ←ここで止まった
tblQ.QueryTable.Refresh BackgroundQuery:=False
としてたのだけど、sheet名がマクロの実行順に並んでいないと、
VBAはwsやqの検索に失敗することがある (特にシート数が多い場合)
という理解でいいのかな?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 空自機レーダー照射、音声データ公開 中国 ★3 [蚤の市★]
- 日銀「歴史的」利上げ迫る 35年ぶりの年間上げ幅、0.5%の壁を突破 [蚤の市★] [蚤の市★]
- 津波警報の発表中にグーグル検索、AIが「すべて解除」と誤情報 [蚤の市★]
- 【YouTuber】バイク事故で入院のゆたぼん、振込で「お見舞金」募る [muffin★]
- 【テレビ】家入レオ 高校時代は親友なし 唯一の仲間が現在は超人気女優 「ずっとお互いに本を読んで」 [湛然★]
- 低所得層のマクドナルド離れが深刻に 広がる「ファストフード格差」の真相 米国 [少考さん★]
- 【実況】博衣こよりのえちえち朝活🧪
- 寒すぎてハゲたんやが
- 【悲報】婚活女子(38)「婚活パーティーに行ったら婚活男性の大部分が年収350万円身長165cm未満のコミュ障子供部屋おじさんで絶望してる… [257926174]
- ドドンドドンドンドン!世界一可愛いVtuberは誰だ!
- お前らって彼女がレイプされたら何て声かける?
- 朝からハイエースでカップラーメン食べてるドカタ
