1 名前:デフォルトの名無しさん mailto:sage [2021/12/20(月) 01:40:59.22 ID:jnlr9GaR0.net] !extend:checked:vvvvv:1000:512 !extend:checked:vvvvv:1000:512 ↑同じ内容を2行貼り付けるナリ ExcelのVBAに関する質問スレナリ コード書き込みや作成依頼もOKナリ ※前スレ Excel VBA 質問スレ Part73 https://mevius.5ch.net/test/read.cgi/tech/1631485799/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
855 名前:デフォルトの名無しさん mailto:sage [2022/01/31(月) 09:38:43.11 ID:9sC6tTKap.net] JSはWebのエクセルの話から派生したみたいだからあながち完全にスレチという訳でもなさそうだな 一応俺も少しJS齧ってはいるけど嘘を書いているようには見えないなぁ どの辺が嘘なんだろ?
856 名前:デフォルトの名無しさん mailto:sage [2022/01/31(月) 10:13:50.76 ID:zlqGzvHc0.net] >>849 嘘ではなかった、アドイン入れたらJS使えたわ ただ、ぱっと触った所vbaでいいとしか思わんかった。慣れてる方が楽でいい jQueryも使えると思うけど、使う理由はないと思う。あれセレクタ便利になるけど、エクセルjsでは使わないような ただwebエクセルでの使い方がわからんかったけど、多分一生使わないからもういいや
857 名前:デフォルトの名無しさん mailto:sage [2022/01/31(月) 10:25:32.89 ID:xKkvHIL7d.net] 自分は嘘と言ってるつもりはないけど話が散らかりすぎてしかもどうでもいいことをダラダラ書きすぎと思ってるけどね 知ってることをいろいろ言いたいのかもしれないけどスレチだってことをわきまえてほしい
858 名前:デフォルトの名無しさん mailto:sage [2022/01/31(月) 10:46:32.75 ID:e1XVzmlT0.net] Web版Excelのマクロ機能(JSスクリプト)は家庭向け製品では使えない いまのところ法人向け製品だけの機能
859 名前:デフォルトの名無しさん mailto:sage [2022/01/31(月) 10:58:28.57 ID:zlqGzvHc0.net] >>852 ああそういうことね、ありがとう
860 名前:デフォルトの名無しさん mailto:sage [2022/01/31(月) 11:28:12.04 ID:KIxAb0730.net] まあ、ウソホントの話は置いといてマッタリ平和にやりましょうよ
861 名前:デフォルトの名無しさん mailto:sage [2022/01/31(月) 12:34:07.47 ID:/myUa4Xt0.net] 争いが嘘か、平和が嘘か
862 名前:デフォルトの名無しさん mailto:sage [2022/01/31(月) 12:47:21.32 ID:PJdTm1ZT0.net] JavaScriptと書いてくれ、途中まで理解が噛み合わなかったわ笑
863 名前:デフォルトの名無しさん mailto:sage [2022/01/31(月) 12:58:13.56 ID:9LYQT6bkM.net] JScriptでExcel.Applicationを扱うのは難しい!
864 名前:デフォルトの名無しさん mailto:sage [2022/01/31(月) 12:58:47.12 ID:e1XVzmlT0.net] 細かいこと言えば実際はJavaScriptというよりTypeScriptだけど https://docs.microsoft.com/ja-jp/office/dev/scripts/develop/scripting-fundamentals
865 名前:デフォルトの名無しさん mailto:sage [2022/01/31(月) 13:07:08.11 ID:xK8RZLXxa.net] >>855 銀河万丈の声で脳内再生されて草
866 名前:デフォルトの名無しさん [2022/02/01(火) 04:12:47.67 ID:BAkheZAsM.net] >>845 ありがとうございます。
867 名前:デフォルトの名無しさん [2022/02/01(火) 18:51:32.45 ID:BTrEast20.net] VBA 何もかもみな懐かしい。。
868 名前:デフォルトの名無しさん mailto:sage [2022/02/01(火) 20:43:06.80 ID:m1Otvt2w0.net] GoogleのI'm Feeling Luckyボタンを押すために objIE.document.GetElementsByClassName("〜")(0).click って書いてちゃんとclassnameの名前を入れているのに実行してみたら 438 オブジェクトは、このプロパティまたはメソッドをサポートしていません。 って表示されて実行されません idだったらちゃんと動作するのですがclassnameだと実行されません 目的はclassnameでのボタンの押し方を知る事なのでどうしてらいいのか教えてください
869 名前:デフォルトの名無しさん mailto:sage [2022/02/01(火) 21:42:08.98 ID:JauLxykcr.net] 独立したIf式が100個あるとして、どのIf式が処理をしたか最後にmsgboxで表示したいのですが、そういうことってできますか
870 名前:デフォルトの名無しさん [2022/02/01(火) 21:53:36.89 ID:NaaBd1FpM.net] できる はい、次
871 名前:デフォルトの名無しさん mailto:sage [2022/02/01(火) 21:53:41.40 ID:UmaqdsBP0.net] 各ifの処理の中でmsgboxに表示する番号なり何なりを変数に代入すればいいんじゃね
872 名前:デフォルトの名無しさん mailto:sage [2022/02/01(火) 23:48:27.08 ID:JauLxykcr.net] >>865 If A1<>"" 〜 End if 現状上の式がただただ書かれているんだけなんですがどうしたらいいですか
873 名前:デフォルトの名無しさん mailto:sage [2022/02/01(火) 23:53:02.19 ID:mToNlmlwd.net] マクロでマクロを書く はい次
874 名前:デフォルトの名無しさん mailto:sage [2022/02/02(水) 00:04:57.15 ID:XK9gt2og0.net] それはif文を理解していないという解釈でいいのか
875 名前:デフォルトの名無しさん [2022/02/02(水) 00:11:32.60 ID:WPZgN1IY0.net] >>866 >>2 を読め
876 名前:デフォルトの名無しさん mailto:sage [2022/02/02(水) 00:23:00.41 ID:DCaD8SVN0.net] >>862 Document.getElementsByClassName() https://developer.mozilla.org/ja/docs/Web/API/Document/getElementsByClassName JavaScript なら、上のリンク先を見れば良いけど、 VBA では、書き方が異なるのかも
877 名前:デフォルトの名無しさん mailto:sage [2022/02/02(水) 07:28:52.11 ID:4nB6ciIN0.net] >>870 ここからボタンを押すにはなんと書けばいいのでしょうか、、、?
878 名前:デフォルトの名無しさん mailto:sage [2022/02/02(水) 07:31:23.63 ID:f98ebtked.net] この手の質問は悪用される可能性があるから回答するの躊躇するよね
879 名前:デフォルトの名無しさん mailto:sage [2022/02/02(水) 07:47:54.37 ID:DCaD8SVN0.net] Ruby で、Selenium WebDriver なら、 driver.要素.click だけど、VBA は知らない 検索してみれば?
880 名前:デフォルトの名無しさん mailto:sage [2022/02/02(水) 07:49:20.30 ID:Sif5VXmLd.net] >>871 学習目的なら他のサイトにしたら
881 名前:デフォルトの名無しさん [2022/02/02(水) 10:07:41.90 ID:wojfg/N6r.net] こんなところにアホな質問するヤツらは ググる能力さえ無いということなのか?
882 名前:デフォルトの名無しさん mailto:sage [2022/02/02(水) 11:13:58.55 ID:QFn3Myrbd.net] ググったりして、その上で質問してると信じたい スクレイピングとかブラウザの自動処理の質問だけど後者は悪用されるリスクが高いから答えたくないよね
883 名前:デフォルトの名無しさん mailto:sage [2022/02/02(水) 11:17:43.23 ID:wojfg/N6r.net] 違うよ 処理完了MsgBox を表示させるなんて 素人でもググって1分で作れるだろ
884 名前:デフォルトの名無しさん mailto:sage [2022/02/02(水) 11:38:37.34 ID:Ro/5oidY0.net] >>875 最初は聞きまくった方が上達する vbaはコードはアホみたいに簡単だけど、変なとこで敷居高いからな
885 名前:デフォルトの名無しさん mailto:sage [2022/02/02(水) 11:54:30.15 ID:34qMGLm0a.net] >>878 なら答えてやれよw
886 名前:デフォルトの名無しさん mailto:sage [2022/02/02(水) 12:16:51.15 ID:QFn3Myrbd.net] どんな言語もそうだけど敷居なんて高いと思ったことないよ そもそもできないこともわからずにあれこれやろうとしてる人がそう思うだけでは
887 名前:デフォルトの名無しさん mailto:sage [2022/02/02(水) 12:26:36.37 ID:h1+1MA/aM.net] Excelを操作するための言語で なぜブラウザを操作しているのか? もっと良い方法があったのではないか? 手を動かす前にほんの少しは考えたほうが良かったのではないか?
888 名前:デフォルトの名無しさん mailto:sage [2022/02/02(水) 12:27:02.36 ID:43zIf/SN0.net] 答えたい人は答えて答えたくない人はスルーしておけば良いと思う 答えないのに偉そうにしてる人は解らないのに偉そうにしている人と同じだし
889 名前:デフォルトの名無しさん mailto:sage [2022/02/02(水) 12:38:30.87 ID:PFGno9cc0.net] >>877 >>863 の質問から、 「処理完了MsgBox を表示させる」ことが質問の本質だと思うわけね
890 名前:デフォルトの名無しさん mailto:sage [2022/02/02(水) 12:58:44.52 ID:h1+1MA/aM.net] お題は100個のif文を書き換えずにどれが処理されたかを当てるクイズね
891 名前:デフォルトの名無しさん [2022/02/02(水) 13:00:17.51 ID:mSZ4QSD40.net] 各、End If の前に、IF 番号を変数として代入する 一行を記述する。
892 名前:デフォルトの名無しさん mailto:sage [2022/02/02(水) 13:31:44.29 ID:QFn3Myrbd.net] 100個のif文はどういう出し方したいかにもよるけど抜ける考慮はさておき dim msgno as long if 条件1 then msgno=1 end if if 条件2 then msgno=2 end if call MsgBox(msgno) ってやるだけでしょ そうではなくどのif文が動いたかであれば適当に動いた個所がわかる変数を用意して同じように表示すればいいだけかと >>882 リスクあるから答えないってのも立派な回答だと思うけどね それを偉そうと思うのならそう思ってもらって結構だけど
893 名前:デフォルトの名無しさん mailto:sage [2022/02/02(水) 13:31:48.33 ID:Ro/5oidY0.net] >>863 フラグを外に出したほうが良いか考えたけど、もういいかなって ってか本当にやりたいことはステップインって機能では Sub foo() bar = "" If A1 <> "" Then bar = bar & "If A1 <> """" Then" bar = bar & vbCrLf End If If b1 <> "" Then bar = bar & "If b1 <> """" Then" bar = bar & vbCrLf End If MsgBox bar End Sub >>879 たまってたのね
894 名前:デフォルトの名無しさん mailto:sage [2022/02/02(水) 13:41:28.48 ID:h1+1MA/aM.net] それじゃあ >>868 の言うように 私の子がバカみたいじゃないですか!
895 名前:デフォルトの名無しさん [2022/02/02(水) 13:42:27.00 ID:mSZ4QSD40.net] IF 式自体を、MsgBox に表示したいのなら 100個の式の一覧をつくって、 Const にして100個記述すればよいかと。 そっちのほうが早い。
896 名前:デフォルトの名無しさん [2022/02/02(水) 14:24:28.77 ID:mSZ4QSD40.net] Const IF001 = "If A1 <> """" Then" Const IF002 = "If B1 <> """" Then" ・・・ ・・・(100個記述) Sub Test() If A1 <> "" Then 〜 RSLT = IF001 End If If B1 <> "" Then 〜 RSLT = IF002 End If ・・・・・ MsgBox RSLT End Sub こんな感じかな。 スマホだと書きづらいわ…
897 名前:デフォルトの名無しさん mailto:sage [2022/02/02(水) 14:25:53.07 ID:Ro/5oidY0.net] VBAってevalなかったっけ あれをフラグに入れれば完結になるんだけどな
898 名前:デフォルトの名無しさん [2022/02/02(水) 14:31:06.05 ID:mSZ4QSD40.net] IF文を全部、シートにコピペ→ソートしてやれば Const を100個書くのは、3分でできるかな。
899 名前:デフォルトの名無しさん mailto:sage [2022/02/02(水) 14:32:20.83 ID:h1+1MA/aM.net] もっとメンタリストみたいにスマートに当てる方法はないのですか? あなた達のスキルにはがっかりデス
900 名前:デフォルトの名無しさん [2022/02/02(水) 14:36:33.27 ID:mSZ4QSD40.net] プロシージャの中身も全部、シートにコピペして 変数の一行を100個挿入してやれば 10分かからないね。
901 名前:デフォルトの名無しさん [2022/02/02(水) 14:38:34.78 ID:wojfg/N6r.net] くれくれ乞食がうぜえな お前が書けよ
902 名前:デフォルトの名無しさん [2022/02/02(水) 14:59:23.76 ID:wojfg/N6r.net] そもそも、IF文100コってなんだよw 無能が書いたのか?
903 名前:デフォルトの名無しさん mailto:sage [2022/02/02(水) 19:16:31.19 ID:4nB6ciIN0.net] vbaでieの操作に成功しました そして目的の通知バーを出してキー操作をさせるためにsendkeyを入力しているのですがExcelの方がキー操作されてしまいます これは待ち時間がないからですか?
904 名前:デフォルトの名無しさん mailto:sage [2022/02/02(水) 19:27:47.16 ID:SglXGK6G0.net] そう思うならタイマとか入れてどうなったか書けよ
905 名前:デフォルトの名無しさん mailto:sage [2022/02/02(水) 19:32:10.25 ID:4mbUlsYd0.net] みんなは過去に作った関数ライブラリって、標準モジュールで 管理(インポートorエクスポート)しているかんじ? クラスモジュールで管理したらだめ?
906 名前:デフォルトの名無しさん mailto:sage [2022/02/02(水) 19:42:36.70 ID:7tA3nICW0.net] >>897 もしライブラリの追加が可能な環境ならSeleniumbasic使った方が簡単で確実に動作するぞ
907 名前:デフォルトの名無しさん mailto:sage [2022/02/02(水) 20:08:51.32 ID:gm4r/aDEa.net] >>897 そりゃ、IEに送らないとだめだわなw
908 名前:デフォルトの名無しさん mailto:sage [2022/02/02(水) 20:31:24.68 ID:lYAq0wM7r.net] >>887 ありがとうございます。 まさに理想通りのやつです。助かりました
909 名前:デフォルトの名無しさん mailto:sage [2022/02/02(水) 21:08:49.40 ID:4bGMKLpw0.net] >>899 やり方は色々あると思うけどその方法なら 用途によって標準モジュールでもクラスモジュールでも使い分けで管理すればいいと思う。 別の方法としてはツールとしてスケルトンのブックを作っておいて その中に色んなモジュールを入れておいてコピーして必要なもの以外は削除して使う方法、 アドインブックを作っておいて参照を切って使う方法とかもある。
910 名前:デフォルトの名無しさん mailto:sage [2022/02/02(水) 21:12:04.30 ID:sT0aKZOxd.net] めんどくさいから win+vでピン留めしてるわ
911 名前:デフォルトの名無しさん mailto:sage [2022/02/02(水) 21:53:01.49 ID:Ro/5oidY0.net] >>899 googleスプレッドシートに書いておいて、そこからコピペ vbaの場合、関数というよりも、 高速化や最終行の取得など、関数よりも細かい部分で欲しいものが多い
912 名前:デフォルトの名無しさん mailto:sage [2022/02/03(木) 00:25:24.67 ID:qiNMcHyb0.net] >>903-905 なるほど。結構、人によってやり方が違うもんなんだな。 勉強になります!
913 名前:デフォルトの名無しさん mailto:sage [2022/02/03(木) 00:38:31.96 ID:tbES4bxer.net] そんなん、メモ帳でよくね?
914 名前:デフォルトの名無しさん mailto:sage [2022/02/03(木) 00:41:32.16 ID:tkF05tCjd.net] いつもの奴だぞ
915 名前:デフォルトの名無しさん mailto:sage [2022/02/03(木) 03:56:49.74 ID:32hviewX0.net] >>897 VBAならスクレイピングを組むのに視覚的に動作確認できるけど、 慣れてきたらぜひpythonでchrome環境で同じような処理を再現してほしい 事務職の現場でもieだと対応してないサイトとかあったりしてクローリングはchromeの方が重宝されるんだ
916 名前:デフォルトの名無しさん mailto:sage [2022/02/03(木) 09:21:08.30 ID:hHsifBpa0.net] メモ帳で思い出したが、秀丸エディタってどうなの?? 知人が秀丸使え使えってうるさいから
917 名前:デフォルトの名無しさん mailto:sage [2022/02/03(木) 09:30:09.86 ID:Nd7AcXHS0.net] >>910 VSCodeが一般化した昨今ではオワコン化が進んでる気がする。 未だにテキストエディタとしては使ってるけど、コードエディタとしてはちょっと厳しいのではないかと思ってる。
918 名前:デフォルトの名無しさん mailto:sage [2022/02/03(木) 10:19:29.46 ID:Z7zOJE1W0.net] >>910 閉じてもそのまま再開できる+タブ表示+シンタックスハイライト(文字色)が出来るものなら何でも良いと思う メモ帳に比べたら秀丸は普通に便利 俺はsublimetext、atom、eclipce使ってるけど、全部オワコン臭が凄い VScodeはプラグイン多くて使いやすいと思う
919 名前:デフォルトの名無しさん mailto:sage [2022/02/03(木) 12:04:33.95 ID:hHsifBpa0.net] うーん。とりあえずメモ帳でいっかな。 なるべく無料のアプリ使いたいし。 ケチが一番!
920 名前:デフォルトの名無しさん mailto:sage [2022/02/03(木) 12:06:23.06 ID:pSX7/s4D0.net] サクラエディタ使いやすいね
921 名前:デフォルトの名無しさん mailto:sage [2022/02/03(木) 12:11:30.24 ID:c9OHCnJld.net] Notepad++だな タブでもやれるけど左枠に文書一覧表示が自分には合ってた 縦タブやお気に入り機能のようにファイルを扱える
922 名前:デフォルトの名無しさん mailto:sage [2022/02/03(木) 12:31:17.48 ID:hHsifBpa0.net] 若い連中にはOneNoteが流行りなのかなと
923 名前:デフォルトの名無しさん mailto:sage [2022/02/03(木) 13:12:28.58 ID:akJYuSUB0.net] >>913 VCcodeはタダだよ メモ帳は多分一番難易度高いんじゃないかと思う 焦
924 名前:デフォルトの名無しさん mailto:sage [2022/02/03(木) 13:49:08.79 ID:Z7zOJE1W0.net] >>917 VScodeな >>915 実は俺も使ってる。そんな便利な機能あったんだ! https://i.imgur.com/AGCZICl.png メモ代わりに使ってるワイ、無事死亡
925 名前:デフォルトの名無しさん mailto:sage [2022/02/03(木) 13:54:30.19 ID:advF3NKUM.net] VSCode入れていいような環境でわざわざVBAなんか使う必要なくね?自由が利くなら他にいくらでも選択肢あるじゃん 拡張機能で得体の知れないOSSがモリモリ入る超危険ソフトウェアだぞ
926 名前:デフォルトの名無しさん mailto:sage [2022/02/03(木) 13:59:55.10 ID:Z7zOJE1W0.net] >>919 中小企業はやっぱりエクセルになってしまうので・・・・ 使わずに基幹ソフトだけで済めば、どれだけ良いことか >超危険ソフトウェア これ言い出すとあらゆるソフトが、ね
927 名前:デフォルトの名無しさん mailto:sage [2022/02/03(木) 14:44:10.97 ID:CBKIfEX60.net] VBA使う理由の半分はエクセルスプレッドシートとの連携だし
928 名前:デフォルトの名無しさん mailto:sage [2022/02/03(木) 15:12:55.32 ID:1AlNHnvf0.net] まあそうだね Excel上でアウトプットしないならVBA以外がいいと思うは
929 名前:デフォルトの名無しさん mailto:sage [2022/02/03(木) 15:39:55.47 ID:OCu5/hNR0.net] EXCEL VBAのスレでスレ違いで悪いんだけど 話ついでに、VS.codeってトレースも出来るんだっけ?
930 名前:915 mailto:sage [2022/02/03(木) 16:14:10.02 ID:c9OHCnJld.net] >>918 そうこれ 他に同じ事が出来るエディタも有るかもだけど軽いし今んとここれ一択だわ
931 名前:デフォルトの名無しさん [2022/02/03(木) 16:15:44.17 ID:/TAKaoAN0.net] >>923 馬鹿は消えろ
932 名前:デフォルトの名無しさん mailto:sage [2022/02/03(木) 16:28:13.06 ID:OCu5/hNR0.net] 自己解決。出来るね。 >>925 いきなりどうしたの?高齢期障害?
933 名前:デフォルトの名無しさん mailto:sage [2022/02/03(木) 16:52:05.79 ID:RpJDoNdN0.net] VSCode https://i.imgur.com/qTVwaIg.png
934 名前:デフォルトの名無しさん mailto:sage [2022/02/03(木) 17:47:56.55 ID:hHsifBpa0.net] 超危険と言えば昔のExcelってそうだった記憶ある 確かExcelを狙ったウィルスがあったような??
935 名前:デフォルトの名無しさん [2022/02/03(木) 18:15:38.24 ID:/TAKaoAN0.net] >>926 自分の書き込みを読み返せ、馬鹿
936 名前:デフォルトの名無しさん mailto:sage [2022/02/03(木) 18:24:46.05 ID:akJYuSUB0.net] >>928 マクロウイルスのことかな
937 名前:デフォルトの名無しさん mailto:sage [2022/02/03(木) 18:37:27.74 ID:OCu5/hNR0.net] >>929 なんだやっぱりちょっとした話の流れに便乗した質問も許容出来ない高齢期障害の爺か そんなにイライラしてると高血圧で脳溢血になるぞ
938 名前:デフォルトの名無しさん mailto:sage [2022/02/03(木) 19:16:08.09 ID:qZuoLMNW0.net] マクロだけだっけ、覚えてないわ
939 名前:デフォルトの名無しさん mailto:sage [2022/02/03(木) 21:24:18.10 ID:Mvkv/5Wv0.net] マクロウィルスはラルーだっけな? それもあったけど、なんかのウィルスだった覚えがあります。 入力した値や文字列が文字化けするウィルス
940 名前:デフォルトの名無しさん mailto:sage [2022/02/04(金) 17:29:19.29 ID:/9L9fpIb0.net] 10弱ほどの複数のシートの同じ行を、まとめて選択してDeleteしているのですが シート1枚につき18秒ほど掛かるようになって、シート全体で3分以上Excelが固まった状態になります 行では無く範囲をUnionで選択しても速度は変わりませんでした Clearcontentsすれば速いんですが、その後CSVにして読み込ませる必要があり ただ消しただけだと、Deleteされた行までデータが存在する事になってしまっていて、支障があります Clearcontentsした後、VBA側で空欄の行をDelete以外で詰める方法は無いでしょうか
941 名前:デフォルトの名無しさん mailto:sage [2022/02/04(金) 17:34:09.06 ID:/YpTyf1v0.net] ↑コピペ
942 名前:デフォルトの名無しさん mailto:sage [2022/02/04(金) 17:49:25.28 ID:/9L9fpIb0.net] コピペって何が?
943 名前:デフォルトの名無しさん [2022/02/04(金) 18:12:14.30 ID:pHRCGz/X0.net] >>931 読み返しても問題に気付かない馬鹿か?
944 名前:デフォルトの名無しさん [2022/02/04(金) 20:33:02.02 ID:mH27gNw80.net] 諸先輩方に質問です。 VBAの勉強を始めたばかりで的外れなところはご容赦ください。 BeforeRightClickで記述するということはわかりました。 シート3のE4:H14とN4:Q14の範囲において、 セルを右クリックで黄色く塗る、もういちど右クリックすると塗りつぶしを無色にする ということをやりたいのです。 同時に右クリックのメニューも表示しなくなるようプログラムしたいです。 塗りつぶすセルは毎回異なるセルです。 日々の作業で特定の範囲内でセルを黄色く塗る作業が多くあります。 これをペンキボタンを使わずにできると作業効率があがるかと思います。 皆様には簡単すぎるかと思いますがどうぞよろしくお願いします。
945 名前:デフォルトの名無しさん mailto:sage [2022/02/04(金) 20:40:52.99 ID:AMkz1drU0.net] 直の回答で無くてすまんがショートカットキー使った方が便利な気がする
946 名前:デフォルトの名無しさん mailto:sage [2022/02/04(金) 21:30:10.84 ID:wpZeT9bxM.net] >934 実際のコードはどんな感じ? シート選択して該当行を削除してるなら、当然遅い。
947 名前:デフォルトの名無しさん mailto:sage [2022/02/04(金) 21:33:46.72 ID:wpZeT9bxM.net] >>938 右クリックにマクロ割り当てるより、既に回答ついてるようにキーボードショートカットに割り当てるか、イベントのダブルクリックなんかに割り当てる方が良いと思います。 他にも色々したいならユーザーフォームを使うのもありかと。
948 名前:デフォルトの名無しさん mailto:sage [2022/02/04(金) 21:36:40.60 ID:Zgf6kB1T0.net] >>938 多分こんな感じ Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) 色 = 65535 If Not (Intersect(Target, Union(Range("E4:H14"), Range("N4:Q14"))) Is Nothing) Then Cancel = True 'コンテキストメニューなし If Target.Interior.Pattern = xlNone Then Target.Interior.Color = 色 Else Target.Interior.Pattern = xlNone End If Else Cancel = False '範囲外ならコンテキストメニュー復帰 End If End Sub
949 名前:デフォルトの名無しさん mailto:sage [2022/02/04(金) 21:38:14.51 ID:Zgf6kB1T0.net] 一応書けたけど、バグったらごめんね~って感じはある コンテキストメニューの非表示は、何か良くない事が起こる気がする ショートカットに割り当てといたほうが良いと思うなぁ
950 名前:デフォルトの名無しさん [2022/02/04(金) 21:52:01.87 ID:mH27gNw80.net] >>942 ありがとうございます、 試してみたところ、問題なく動きました。 素早いレス感謝します。 >>939 >>941 ありがとうございました。 ショートカットキーも併せて検討してみます
951 名前:デフォルトの名無しさん mailto:sage [2022/02/04(金) 21:59:19.78 ID:Zgf6kB1T0.net] >>942 で一個だけ迷ったのが、 Cancel = True 'コンテキストメニューなし の行 これ、今の場所に書くべきか、以下の間が良かったのか、どっちだろう End If Else なんとなく後者の方が良いかと思ったけど、具体的な理由は特に無い
952 名前:デフォルトの名無しさん mailto:sage [2022/02/04(金) 22:00:37.50 ID:hsiPC1r9M.net] >>942 勉強になるわ
953 名前:デフォルトの名無しさん mailto:sage [2022/02/04(金) 22:07:39.34 ID:hsiPC1r9M.net] >>945 色塗りが先か非表示が先かってことでしょ? どっちでも良い気がするけど
954 名前:デフォルトの名無しさん mailto:sage [2022/02/04(金) 22:20:18.23 ID:Zgf6kB1T0.net] >>947 そうそう、どっちでもいい だけど、エラーの発生や可読性などを考慮した時、どっちがいいかなと思って こういう時に迷わずに書けるようになりたい
955 名前:デフォルトの名無しさん mailto:sage [2022/02/04(金) 22:27:16.08 ID:MwWgLKiA0.net] >>938 向上心あって良いね、自分は動きゃええわって感じだからなぁ 笑 それもあってここ抜いちゃうかもって思った Else Cancel = False '範囲外ならコンテキストメニュー復帰
956 名前:デフォルトの名無しさん mailto:sage [2022/02/05(土) 02:19:12.27 ID:6OPkdc9C0.net] >>940 レスありがとうございます シートを一枚ずつ削除してからDeleteを試していったら、特定のシートの有無で大きな変化があったので 重くなる理由で調べていったら、条件付き書式がセルのコピペで勝手にどんどん増殖していく というのがまさにそれでした Deleteとかは関係なかったみたいです、失礼いたしました
957 名前:デフォルトの名無しさん mailto:sage [2022/02/05(土) 03:34:09.74 ID:Bcit2bMf0.net] 勝手に増殖したらウイルスみたいだな、そもそもコピペで(条件付き)書式もコピーされるのは正常動作だし
958 名前:デフォルトの名無しさん mailto:sage [2022/02/05(土) 14:27:20.74 ID:NvgV3V+H0.net] 365インサイダー板、久しぶりに更新きた
959 名前:デフォルトの名無しさん [2022/02/06(日) 04:25:59.05 ID:4j2iEgx50.net] EXCEL2021のエラーダイアログに「デバッグ」ボタンがないんだけど、 どうすれば表示されるようになります?
960 名前:デフォルトの名無しさん mailto:sage [2022/02/06(日) 17:12:52.54 ID:5H6ThRiB0.net] >>953 スクリーンショット見せてほしい
961 名前:デフォルトの名無しさん mailto:sage [2022/02/07(月) 11:59:42.81 ID:dtTrWMUA0.net] 新しいバージョンは、バグがあるからねぇ… 使わないに限る
962 名前:デフォルトの名無しさん mailto:sage [2022/02/07(月) 12:13:58.84 ID:PizflsNCM.net] 全面的に使用禁止
963 名前:デフォルトの名無しさん mailto:sage [2022/02/07(月) 14:36:18.09 ID:L5SqTIhE0.net] そういい続けて今でもExcel2003使っている
964 名前:デフォルトの名無しさん mailto:sage [2022/02/07(月) 17:16:58.35 ID:clNFinzC0.net] VBA内で今まで使えてたKillが急に使えなくなった。 Excel13に戻すと使えるけど、俺が頃されたのか。
965 名前:デフォルトの名無しさん mailto:sage [2022/02/07(月) 17:38:36.22 ID:N54aEDvt0.net] 概念が殺された
966 名前:デフォルトの名無しさん mailto:sage [2022/02/07(月) 17:41:13.85 ID:2n7cflzo0.net] >>958 ファイルやフォルダのアクセス権は大丈夫なんか?
967 名前:デフォルトの名無しさん mailto:sage [2022/02/07(月) 18:07:58.36 ID:Zblf2oZud.net] >>958 エラーコードとかもどってきてないの?
968 名前:デフォルトの名無しさん mailto:sage [2022/02/07(月) 18:21:22.94 ID:clNFinzC0.net] 実行時エラー70 書き込みできません プログラム内で作った作業用のファイルを終了直前に削除する部分が効かなくなった。 もう帰っちゃったしアクセス権とかは調べてないや。でもファイルは作れるしな。 先月までは普通に動いてたし別なPCでも同じ結果なんだな。
969 名前:デフォルトの名無しさん mailto:sage [2022/02/07(月) 18:30:16.04 ID:1qSznfbA0.net] >>958 「実行時エラー70書き込みできません kill」 で検索したら色々出てきた 多分開きっぱなしになっているので、.closeかなんかで閉じると良いと思う
970 名前:デフォルトの名無しさん mailto:sage [2022/02/07(月) 18:44:59.26 ID:UL1lTxQ90.net] ウイルスチェックやフォルダの同期(GoogleDrive)が邪魔してくれる事は良くある
971 名前:デフォルトの名無しさん mailto:sage [2022/02/07(月) 20:17:13.59 ID:rYqCZzs10.net] 田中氏、いきなりようつべに復活したぽい
972 名前:デフォルトの名無しさん mailto:sage [2022/02/07(月) 21:53:43.66 ID:2n7cflzo0.net] >>962 そのファイルを誰かが開いてる 場合によってはエクスプローラーが開きっぱなしにすることがある テンポラリフォルダの表示形式を一覧か詳細に変えてから閉じてみ
973 名前:デフォルトの名無しさん mailto:sage [2022/02/08(火) 07:57:31.61 ID:Kw22iHFld.net] >>962 ファイルを削除直前まで開いてたりすると削除で使用中の扱いになったりすることがあるから ファイルを閉じる>Sleepで2秒程度またせる>削除 のようにするといいかもしれない。 自分はいつもこうしてる
974 名前:デフォルトの名無しさん mailto:sage [2022/02/08(火) 22:22:07.82 ID:VQAPYvrL0.net] ダウンロードファイルのVBAマクロをデフォルト無効化。Officeに仕様変更 https://pc.watch.impress.co.jp/docs/news/1386777.html
975 名前:デフォルトの名無しさん mailto:sage [2022/02/09(水) 07:37:52.77 ID:Fae4IrPy0.net] ダウンロードファイルなら無効にしておいたほうがいいだろうけど、 すぐに有効にしそう
976 名前:デフォルトの名無しさん mailto:sage [2022/02/09(水) 09:21:32.50 ID:9BkbymyAM.net] >>969 使うためにダウンするから難しいところだよね
977 名前:デフォルトの名無しさん mailto:sage [2022/02/09(水) 09:47:40.14 ID:mKkfmqYvd.net] 社内のサイトからだとめんどくさいけどやらかすやつがいる以上はアプリ側でこういう対策をしてくれるのはありがたい ファイルごとの指定だろうから既定値無効でいいと思うね
978 名前:デフォルトの名無しさん mailto:sage [2022/02/09(水) 09:50:35.22 ID:RWuYGaqJ0.net] こっそり入ってくるのを防ぐのが目的なんだから、マクロの存在をユーザーが認識できてるかどうかでしょ 自分で設定を切れるレベルの人は問題ないとみなすので、自己責任でどうぞ切って下さいってスタンス
979 名前:デフォルトの名無しさん mailto:sage [2022/02/09(水) 10:56:38.64 ID:9BkbymyAM.net] >>972 ウイルス単独というか元々あるVBAのコードを改編されるからコードが読めないと判断出来ないと思うよ
980 名前:デフォルトの名無しさん mailto:sage [2022/02/09(水) 11:20:58.48 ID:bDyl2u0GM.net] 完璧に対策するのは不可能だから、まずは「添付の資料を見て下さい」っていう犯人からのメールきっかけで侵入されるパターンを想定してるのでは
981 名前:デフォルトの名無しさん [2022/02/09(水) 12:06:08.78 ID:kbHLXdYh0.net] マクロを理解してる人は、メールとかで送られてくる Excelファイルなんて開かないけど、無能な素人が 開いちゃって、社内にウイルスがばら撒かれるから 無能のヒューマンエラー防止のための策でしょ?
982 名前:デフォルトの名無しさん mailto:sage [2022/02/09(水) 12:22:38.83 ID:j8hQF/oi0.net] 公開されているcsvを読込むマクロで csvファイルからウイルス広まる事例って あるのかしら?
983 名前:デフォルトの名無しさん mailto:sage [2022/02/09(水) 13:40:36.30 ID:LKLk4DLKa.net] リンクを手当り次第クリックしちゃうアホがいるからね
984 名前:デフォルトの名無しさん mailto:sage [2022/02/09(水) 13:43:15.59 ID:Fae4IrPy0.net] 誤クリを防ぐって意味ならたしかにかなり有用だと思う >>976 言ってる意味がよく分からんが、 マクロはものすごくウィルスを添付しやすい サイトで公開されているマクロ付きのエクセルファイルなんて開いちゃダメだぞ コードを読んで、コピーして問題なければ使うのが基本だ
985 名前:デフォルトの名無しさん mailto:sage [2022/02/09(水) 14:04:41.56 ID:j8hQF/oi0.net] >>978 ああ。 .xlsmファイルをメールで送るつもりはさらさらなくて。 けど、 e-statなんかで公開されているcsvファイルを 読込んで処理するマクロを組んだ.xlsmファイルも デフォルトでは開く度に毎回警告されるものだから。
986 名前:デフォルトの名無しさん mailto:sage [2022/02/09(水) 14:20:22.38 ID:RWuYGaqJ0.net] CSVは単なるテキストファイルだから、それ自体には感染能力はないけど、わざと文字化けさせたり巨大なデータを混入させてといて、読み込むアプリを誤作動されられる可能性ならある 簡単に実験できる範囲だと、セル内改行が大量にあるだけでExcelがプチフリするしね
987 名前:デフォルトの名無しさん mailto:sage [2022/02/09(水) 14:20:22.44 ID:Z/7LO9MU0.net] CSVに関数を書き込んで読み込んだExcelがそれを実行するって事例があった
988 名前:デフォルトの名無しさん mailto:sage [2022/02/09(水) 14:25:00.32 ID:I0u44nFvd.net] Excel VBA 質問スレ Part75 https://mevius.5ch.net/test/read.cgi/tech/1644384272/
989 名前:デフォルトの名無しさん mailto:sage [2022/02/09(水) 14:27:15.27 ID:RWuYGaqJ0.net] >>981 さすがにワークシート関数だけじゃ感染は無理なのでは 使用者を混乱させて誤操作を誘発するとかやらないと
990 名前:デフォルトの名無しさん mailto:sage [2022/02/09(水) 15:29:31.91 ID:h7C3sgPu0.net] >>982 なんたる有能
991 名前:デフォルトの名無しさん [2022/02/09(水) 15:41:42.37 ID:F+qQsHczr.net] 大昔、2chの草創期に大流行した ブラクラみたいな感じ
992 名前:デフォルトの名無しさん mailto:sage [2022/02/09(水) 18:27:17.30 ID:2Z/3/DW40.net] 古いExcelは拡張子.xls でもマクロ書けたのと、test.csv.xls みたいなファイル名でOS設定で拡張子を表示しないとか されていると気づかないで実行されることがあった
993 名前:デフォルトの名無しさん [2022/02/09(水) 19:24:18.78 ID:KYojXGCr0.net] どうすれば先頭の画像をクリックできるのでしょうか? Sub func() Dim url As String: url = "https://e-hentai.org/g/1727798/1f
994 名前:be77a0a2/" Dim buffer As String: buffer = "" Dim objLink As Object Dim objIE As InternetExplorer Set objIE = CreateObject("InternetExplorer.Application") objIE.Visible = False objIE.navigate (url) Do While objIE.Busy Or objIE.readyState <> READYSTATE_COMPLETE DoEvents Loop Call WaitFor(3) ' wait for 3 seconds buffer = objIE.document.getElementsByClassName("gdtm").outerHTML Cells(1, 1).Value = buffer objIE.Quit Set objIE = Nothing End Sub Function WaitFor(ByVal second As Integer) Dim futureTime As Date: futureTime = DateAdd("s", second, Now) While Now < futureTime DoEvents Wend End Function [] [ここ壊れてます]
995 名前:デフォルトの名無しさん mailto:sage [2022/02/09(水) 19:45:46.68 ID:Fae4IrPy0.net] >>987 ここから進まない Do While objIE.Busy Or objIE.readyState <> READYSTATE_COMPLETE DoEvents Loop 最終的に何がしたいの?スクレイピング(画像のダウンロード)?
996 名前:デフォルトの名無しさん mailto:sage [2022/02/09(水) 19:48:05.28 ID:Fae4IrPy0.net] ダウンロードなら、右の「Archive Download」からダウンロードできるぽいのでそこで試してみては
997 名前:デフォルトの名無しさん mailto:sage [2022/02/09(水) 21:24:05.75 ID:Z/7LO9MU0.net] buffer = objIE.document.getElementsByClassName("gdtm").outerHTML ↓ buffer = objIE.document.getElementsByClassName("gdtm")(0).outerHTML みたいに添え字が必要。先頭だけでいいなら0 ちなみに、objIE.document.getElementsByClassName("gdtm").Length で何個あるかわかる 全部ほしければループする リンク先が欲しいなら、outerHTMLじゃなくて、aタグのhrefだけ取得すればいいと思うよ hoge = objIE.document.getElementsByClassName("gdtm")(0).getElementsByTagName("a")(0).href あとは、objIE.navigate (hoge) でリンク先に飛ぶ
998 名前:デフォルトの名無しさん mailto:sage [2022/02/09(水) 21:40:08.30 ID:RWuYGaqJ0.net] >>987 そもそもe-hentai.orgはスクレイピング対策がけっこうキツめだからそんな単純な方法ではだめだったはず
999 名前:デフォルトの名無しさん mailto:sage [2022/02/09(水) 21:44:33.64 ID:oSWjz80sa.net] .click
1000 名前:デフォルトの名無しさん mailto:sage [2022/02/09(水) 22:14:49.52 ID:MpMYHHoEd.net] どんな画像かわからんけど漫画なら作者なりが訴えたらまとめて賠償請求されるかもしれんのに よく回答するねw
1001 名前:デフォルトの名無しさん mailto:sage [2022/02/09(水) 22:20:10.16 ID:dWa1kwqW0.net] だって、教えたがりおじさんおばさんの巣窟だもん
1002 名前:デフォルトの名無しさん mailto:sage [2022/02/09(水) 22:31:13.14 ID:WQvIAEnaM.net] 回答者に賠償請求ですって?法律を知らない子はおかしなことをおっしゃるのね
1003 名前:デフォルトの名無しさん mailto:sage [2022/02/09(水) 22:43:06.13 ID:qWGRAcWA0.net] 質問者はどうしたらクリックできるか訊いてるんだけどね なぜかダウンロードだのどうしたいだの
1004 名前:デフォルトの名無しさん [2022/02/10(木) 01:00:09.82 ID:hZgX7eKD0.net] マウスつなげる
1005 名前:デフォルトの名無しさん mailto:sage [2022/02/10(木) 07:30:31.61 ID:j0eZpZqg0.net] If cnt=1000 Then MsgBox "ぬるぽ", vbOkOnly+vbCritical
1006 名前:94 mailto:sage [2022/02/10(木) 09:01:43.57 ID:YAVEwoPsM.net] vbaでWordの2ページ目にある表の中の文字列をエクセル転記したいです。 Wordの操作はできそうなのですが文字をどこまで細かく引っ張れるのでしょうか
1007 名前:デフォルトの名無しさん mailto:sage [2022/02/10(木) 09:33:43.50 ID:cXcP1CjO0.net] >>999 条件次第
1008 名前:1001 [Over 1000 Thread.net] このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 52日 7時間 52分 44秒
1009 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています