Excel VBA 質問スレ Part79

■ このスレッドは過去ログ倉庫に格納されています
2023/01/28(土) 11:46:47.21ID:mBQ16TA8
↑同じ内容を3行貼り付けること

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

次スレは>>980が立てること
無理なら細かく安価指定

※前スレ
Excel VBA 質問スレ Part77
https://mevius.5ch.net/test/read.cgi/tech/1658009255/
Excel VBA 質問スレ Part78
https://mevius.5ch.net/test/read.cgi/tech/1667104996/

-
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
203デフォルトの名無しさん
垢版 |
2023/02/21(火) 12:00:15.73ID:QtuhzazS
どなたかVBAでのレジストリ操作についてわかる方いたら教えてください。
以下の方法を試しましたが、取れる値と取れない値がありました。
取得したい値の読み取り権限も許可してもうまくいかず。。。

・WScriptのRegRead()メソッド
・api
・bat

色々切り分けたところbatファイルを単体で実行したときには取得できて
VBAからbatファイルを実行すると値が取得できないので
VBAの実行権限に問題があるのではと考えていますが
権限とか関係なしにapiでどこでも取得できるよとか
何かご存知の方いたらコメントお願いします。
204デフォルトの名無しさん
垢版 |
2023/02/21(火) 12:02:26.74ID:QtuhzazS
連投すみません
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft配下の
値を取得できない状況です
2023/02/21(火) 12:23:42.75ID:O9yVRoe+
>>203
VBAで昇格は無理だからコマンドライン呼び出せ
206デフォルトの名無しさん
垢版 |
2023/02/21(火) 12:58:35.82ID:QtuhzazS
>>205
回答ありがとうございます。
コマンドラインで呼び出すというのは
以下コードのように実行結果を取得する感じですかね。
試してみたところ、実行結果が空白で返ってきたのですが
基本的にはレジストリのどの値も取得できるのでしょうか?

'実行するコマンドを指定
command = "ping 192.168.10.1"

Set wsh = CreateObject("WScript.Shell")

'コマンドを実行
Set execObj = wsh.exec("%ComSpec% /c " & command)

'コマンドの実行結果を取得
commandResult = execObj.stdOut.ReadAll
207デフォルトの名無しさん
垢版 |
2023/02/21(火) 13:01:26.92ID:QtuhzazS
pingの実行結果は返ってきますが
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft" /v "指定の場所"の
結果が返ってこないです。
2023/02/21(火) 13:15:24.72ID:fHD8EY4F
まるごと不可?
部分的に不可?
209デフォルトの名無しさん
垢版 |
2023/02/21(火) 13:16:41.22ID:QtuhzazS
>>208
まるごと不可です
2023/02/21(火) 13:17:37.19ID:O/2CEwvU
>>207
コマンドは管理者権限で実行せんとあかんのと違う?
211デフォルトの名無しさん
垢版 |
2023/02/21(火) 13:40:16.54ID:QtuhzazS
5か所くらい検証してみたら部分的にとれないが正解でした。
× "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\MachineGuid"
○ "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\InstallRoot"
× "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SQMClient\WinSqmFirstSessionStartTime"
○ "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Palm\DelayManipulationDuration"
○ "HKEY_LOCAL_MACHINE\SOFTWARE\Apple Inc.\Apple Application Support\InstallDir"
2023/02/21(火) 15:07:37.73ID:fHD8EY4F
win10とvsとvbaで試してきた
LOCAL_MACHINE
"SOFTWARE¥Microsoft¥Cryptography"
"MachineGuid"

RegGetValueWで読めた
213デフォルトの名無しさん
垢版 |
2023/02/21(火) 15:32:26.88ID:QtuhzazS
凄いですね・・・
もう一つの方も行けましたか?
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SQMClient\
2023/02/21(火) 15:44:36.64ID:fHD8EY4F
Option Explicit
Declare PtrSafe Function RegGetValueW Lib "advapi32.dll" ( _
ByVal k As LongPtr, _
ByVal s As LongPtr, _
ByVal v As LongPtr, _
ByVal f As Long, _
ByVal t As LongPtr, _
ByVal d As LongPtr, _
ByVal n As LongPtr) _
As LongPtr
Sub DoRegTest()
Dim b(0 To 2048) As Byte
Dim n As Long
Dim r As LongPtr
Const HKEY_LOCAL_MACHINE = &H80000002
n = 2048
r = RegGetValueW( _
HKEY_LOCAL_MACHINE, _ StrPtr("SOFTWARE\Microsoft\Cryptography"), _
StrPtr("MachineGuid"), _
2, _
0, _
VarPtr(b(0)), VarPtr(n))
End Sub
↑この感じでSZ型のキーを読み取った
215デフォルトの名無しさん
垢版 |
2023/02/21(火) 16:08:56.75ID:QtuhzazS
>>214
ありがとうございます。
提示していただいたもので実行してみたところ
戻り値が2でシステムエラーコードで確認すると
「システムは、指定されたファイルを見つけることができません。」
となっていました。
となると、こちらの環境的な問題ですかね。。
216デフォルトの名無しさん
垢版 |
2023/02/21(火) 16:16:03.43ID:QtuhzazS
>>214
無事取得できました!
本当にありがとうございます。
お手数おかけしました。
2023/02/21(火) 19:33:10.83ID:JTliHuKO
>>199
>忙しすぎて会社で試せてない

お前はいったい何をやっているのだ?VBAは仕事ではないのか?会社で試すのは仕事ではないのか?
メール開く時間すらないほど忙しい会社なのか?インポートやエクスポートを知らんのか?
2023/02/22(水) 01:16:47.41ID:9VE/T3g1
あぼーん
2023/02/23(木) 14:40:13.33ID:NwCSUcmQ
俺は昨日は余計なメール開く時間も惜しいほど忙しいかったな
まあそんな日もある
2023/02/23(木) 19:25:49.13ID:DX82pz52
それも仕事
2023/02/23(木) 21:49:11.96ID:d94eSRWI
ほどほどに忙しいうちが花と言われたからからね。
暇すぎはストレス溜まるし忙しすぎは思考停止する。
222デフォルトの名無しさん
垢版 |
2023/02/25(土) 08:44:32.62ID:QsBdGNRz
VBAを使ってることは誰にも言わず
その日が期日の業務だけサッと終わらせて
後はゲームなり昼寝なりしてるけどストレスフリーよ
メールチェックとかはくだらん定例ミーティングの裏でやる
223デフォルトの名無しさん
垢版 |
2023/02/25(土) 09:53:04.96ID:aIZzN5su
「暇すぎはストレス溜まる」

これアホちゃう?
いままでの人生でそんな思考になったことは一度もない。
暇ならそれに感謝するだけ。
嬉しくてしかたがない。
人生にはやりたいこと楽しいことがたくさんあるんだから
それに暇な時間をそそぐだけでいい。
忙しいのは嫌い。
なぜ貴重な自分の時間をやりたくないことに使わなきゃいけないの。
2023/02/25(土) 13:54:24.69ID:JD4Ctbem
君にもそのうちわかるよ わからなかったらそこまでだったってこと
2023/02/25(土) 16:49:36.83ID:DoqH+M+N
社会に出たことない引きこもりの思考またはよほど待遇の良い会社にいるのかどっちかだな。

暇すぎってことは仕事を見つけなければならないんだよ。
他の人の仕事手伝うとか。
226デフォルトの名無しさん
垢版 |
2023/02/25(土) 17:09:52.04ID:aIZzN5su
経営者じゃなけりゃ
同じ時間で給料同じなんだから
ヒマ(楽)ほどいいのは決まってるじゃん。
アルツハイマーでもこれくらい分かる。
2023/02/25(土) 17:27:31.08ID:CGMlwC4Y
「暇」と「楽」が同じと思ってる時点で精神が子供だな
いや実際未成年なのかもしれないけど
2023/02/25(土) 22:46:11.32ID:DoqH+M+N
暇だー ←まともな神経なら上席に相談するでしょ?
例「係長、今、自分の仕事が終わって手が空いたのですが、この後何かお手伝いする事ありますか?」

まあアルバイト止まりの未成年君には分からないか指示待ちだもんね。
2023/02/25(土) 23:57:06.22ID:E1i3tKVi
Sub testest()
Dim z0 As LongLong
z0 = 356 * 100
End Sub

「オーバーフローしました」になるんだが
2023/02/26(日) 00:11:42.16ID:sdffjS8S
>>228
すごい洗脳的な思考だな
まぁ立派なポチになってくれ
2023/02/26(日) 00:19:21.95ID:YMJUJbfk
>>229
それVBAのバグに近い仕様
定数は内部で勝手にInteger型に変換されるからすぐにオーバーフローする
もっとわかりやすい例だと右辺が 32767 + 1 でもエラーになる
対策としては全部の定数を先に変数に入れておくなどいくつかある
2023/02/26(日) 00:20:37.48ID:/hhgnOlt
>>229
数字の後ろに型宣言文字の ^ を付けるといい
233デフォルトの名無しさん
垢版 |
2023/02/26(日) 01:36:14.44ID:tp9OjsHC
>>231
これをバグだと思うお前の頭がおかしい
2023/02/26(日) 05:06:33.26ID:eudL/KWJ
>>230
あのね、学生さん、YouTubeだかネットの記事を鵜呑みにしない方がいいよ。
社会に出ればこんなの当たり前だから。
人よりも仕事は早くこなして次のタスクを行う。
そうやって「評価」というものを受け取れるんだよ。
2023/02/26(日) 08:24:55.67ID:ohKfmJY8
>>230
処世術を知らんのか
2023/02/26(日) 08:53:33.45ID:eudL/KWJ
相手しない方が良いよ。
何せ社会を知らない奴なんだから。
2023/02/26(日) 14:38:38.79ID:3Cr/hlVm
>>234
自分の忠犬ぶりをアピールしてご満悦とはまさに奴隷の鎖自慢だな。
仕事は自分で見つけるもんやで?
そういう奴隷根性だから未成年にしかマウント取れないんだよ、天井低い駄犬くん
2023/02/26(日) 16:26:56.12ID:eudL/KWJ
本当に社会知らないんだな?
>>237
自分で勝手に仕事見つけて行うと、「何勝手な事してるんだよ?、誰がそんな事指示した?、責任取れるんか?」
て言われるのが社会なんだよ。
良く覚えとけよ。
2023/02/26(日) 21:51:00.91ID:fkbOU0Ua
>>216
今日になって気付いた
戻り値は4バイト整数だったごめん…
2023/02/28(火) 15:08:20.31ID:NXRHGwBO
>>238
世渡り上手で仕事せずともいられるって人もいるけどな
前の上司がそんな人で、平気で仕事サボって昼寝するのに上からも下からも慕われてて、
こういう漫画みたいな人いるんだなーと思った

レアケースだけど、この人はそういう人になりたいって言ってるんじゃないだろうか
2023/02/28(火) 16:02:16.29ID:chlNPmFa
すげえww罪悪感のカケラもないその神経を見習いたいわ。
まあ、環境にもよるんだろうね。
自分の職場はみなクッソ真面目の堅物ばかり。
2023/02/28(火) 16:07:15.89ID:YzUXpdVm
そんな人がこんなスレ訪問するはず無いだろ そんなヒマあったらサボってる
2023/03/02(木) 03:52:23.34ID:wSjrNglr
ヒマがあったらサボってる?
普通に考えればサボっているからヒマになるのでは?
2023/03/02(木) 06:53:32.06ID:J6gUWTNI
お、おう。
2023/03/02(木) 11:19:20.68ID:iwViG7Fn
せめてヒマの意味調べようよ 意味も知らずに話ししてんのか そりゃあ、話し掛けられた相手も困惑することだろうに
2023/03/03(金) 02:31:42.07ID:LaDEEyjy
に ほ ん ご ほ う か い
2023/03/03(金) 07:47:29.44ID:E3REpsyj
まったく最近の老害ときたら…
2023/03/03(金) 12:40:49.00ID:/y/rr2Lo
逆に若い方が間違った日本語を平気で使ってるよ
勢いでごまかすとか、マウント取ることしか頭にないから上司にタメ口で話したりしてるよね
2023/03/03(金) 15:00:36.88ID:LaDEEyjy
いや、最近の若いのは分別しっかりしているでしょ。
年寄りの方がタチ悪いわ。すぐ「俺は何でも知っている、お前は何も知らないからな」みたいな下らないマウント取ってくるでしょ?
2023/03/03(金) 15:14:44.70ID:an7QtCXR
老人はオールドメディアから洗脳済で基本左翼思想なのも終わってる
2023/03/03(金) 18:54:13.51ID:/y/rr2Lo
政治家の老害の方が酷いから社内で経験のある定年前のおっさん程度なら気にならんよ
2023/03/03(金) 23:49:56.23ID:k/H9X4nF
若者はとか年寄りはという括りで決めてしまうことに何の疑問も持たないのが不思議でな
解ってて話しているならいいけど本気で言ってそう
2023/03/04(土) 07:57:41.77ID:8//TjMOu
若者だろうが年寄りだろうが関係なくね?
若者でもダメなヤツはダメだし年寄りでもめっちゃリスペクトできる人もいるしな。
2023/03/04(土) 13:24:30.21ID:HiKr/1U9
普段何を見て育ってきたかが違いすぎて関係ないなんてことはないと思うなあ
2023/03/04(土) 14:32:34.86ID:nF/g30df
周りにダメな奴がいてダメでない奴もいるとして
その中で自分がダメな奴と一緒になるのか、ダメにならない様に努力するのかが重要になってくる
それと明らかに攻撃してくる相手なら敵と認識して反撃もやむをえない
2023/03/04(土) 15:11:12.05ID:8//TjMOu
悪かった
年寄りで1番タチ悪いクセは、大人しいタイプで反抗してこない若者をいじめるクセがあるのは何回も見ている。
それはダメだわな。
2023/03/04(土) 15:37:01.51ID:z+cjlQY2
ここは>>1がじぶんのために立てたスレッドだが、彼は仕事が出来ないのがバレてクビに成ったのか?
丸々一ヶ月音信不通だが 本を一所懸命に読んでる真っ最中なのか?
2023/03/04(土) 19:52:37.48ID:nF/g30df
>>256
与党が少数意見を無視して増税してきたのは何回も見ている
見ているだけだから問題ないのかな?
2023/03/04(土) 21:46:53.40ID:h6QEfyIh
ここ何のスレだっけ
2023/03/05(日) 03:17:25.93ID:d3m+m4y0
>>259
クソスレ
2023/03/05(日) 17:06:46.67ID:vENEE6dG
985 名前:デフォルトの名無しさん (オッペケ Sr3b-O9ZV)[sage] 投稿日:2023/01/28(土) 11:47:07.68 ID:mBQ16TA8r [9/9]
はい建てた
Excel VBA 質問スレ Part79
https://mevius.5ch.net/test/read.cgi/tech/1674874007/

996 名前:デフォルトの名無しさん (ワッチョイ 0b01-hj3w)[sage] 投稿日:2023/01/28(土) 12:09:25.98 ID:NqcfPhRT0 [5/6]
To: 各位

無能の働き者がワッチョイ無しで次スレ立てちまったんだがどうする?
ワッチョイありで立て直す?

997 名前:デフォルトの名無しさん (オッペケ Sr3b-O9ZV)[sage] 投稿日:2023/01/28(土) 12:10:22.95 ID:XR4zA44Nr [7/8]
>>996
俺のAIが自動的に削除してたわw
2023/03/06(月) 01:00:13.14ID:1WgjQ7Bk
そのうちここもあぼーんの嵐になるわさ
263あはーん
垢版 |
2023/03/08(水) 20:49:17.55ID:szyRCS8l
あはーん
2023/03/09(木) 00:30:01.95ID:D1VDY6UW
おぼーん
265150
垢版 |
2023/03/10(金) 12:55:22.35ID:QfDmbcex
=if(isnumber(match(b1,a5:a31,0)),"ok","bad")
これをVBAで実現するにはどうすればいいか教えて欲しいです
2023/03/10(金) 20:00:52.25ID:eEaylvqx
>>265
その式で希望通りの結果ならそのままのほうがいいよ
2023/03/10(金) 20:37:16.92ID:iWPdLzMM
わざわざVBAでやる必要ないモノは関数で良いしね
2023/03/10(金) 21:01:29.17ID:WMCxZwMq
worksheetfunctionで済むならその方がいいよ
最終的に実現したい方法を教えてくれるか
それとも単純にvbaでどうなるか知りたいかならそういってもらえれば
2023/03/10(金) 21:50:33.66ID:IaGJxF6U
ChatGPTへ条件を指定するの難しい・・・
日本語が下手で嫌になる

分かりやすいサイトとかyoutubeチャンネルとかある?
2023/03/10(金) 22:56:34.60ID:WMCxZwMq
>>269
日本語が下手ならchatgptに推敲してもらえばいい

ってかそもそもChatGPTはそもそもコード生成向いていない
ChatGPTのエンジンはgpt-3
本当にコード生成に向いているエンジンはcodex
2023/03/11(土) 04:47:16.82ID:ZWvVNp1O
ChatGptが作ったコード、なかなかいい感じだが
2023/03/11(土) 14:42:28.64ID:SdsqzSUo
使いたければ使っていればいい、よそのスレで宣伝する必要なくね
2023/03/11(土) 15:31:38.67ID:QVD3K1L3
ここは1000行ったらもうそれっきりのスレだから 雑談してりゃいいんだ
2023/03/11(土) 17:37:12.30ID:GdTACZTW
VBAコードをカラー印刷する方法はありますか?
パソコンで見ると目が疲れるし、気付きにくいこともあるので紙で見たいのです。
2023/03/11(土) 17:59:17.42ID:QVD3K1L3
やれやれ
https://forest.watch.impress.co.jp/docs/news/609605.html
おまけ
https://excelshogikan.com/tips/tips115.html
もひとつ
https://tonari-it.com/excel-vba-vbe-syntax-highlight/
もいっちょ
https://koukimra.com/archives/545
なんか、いっぱい出て来る
https://excel.syogyoumujou.com/freesoft/vba_to_html.html

VBEの[ツール]-[オプション]-[エディタの設定]でも、フォントを濃い色にしとかないと印刷しても薄っすいだろうけど
それすると今度は画面がギラついて目に優しくない状況に陥ったりするだろうし いろいろ試して自分の好みで
2023/03/11(土) 20:46:11.23ID:GdTACZTW
>>275
たくさん貼っていただきありがとうございます。
2番目のツールはHTML化で変換出来なかったんですよね。

最後のアドインのだけカラーで出来るようなのでこちらを使ってみます。
2023/03/13(月) 20:32:20.84ID:VmVu1UJJ
ChatGPTにVBAでこんな感じに出来ませんか?と質問するとしっかりとしたコードを書いてくれる
2023/03/13(月) 21:20:54.07ID:pwuv7WPr
Chatgptが普及すれば初級者とか関係なく誰でも高度な事ができるようになるよね。
もはや「Excelできまーす!高度なコード書けまーす!」が通用しなくなる時代が来つつあるな。
2023/03/13(月) 21:34:37.42ID:rU40dayx
このスレのスレ立て人ディスってんのか?
Excelできます枠で中途入社しときながら、まるきしわからんちんでExcel VBAスレに泣き付いて
質問をキッカケに主人公にでも成ったかのような勘違いしてこの無駄スレ立ててしまった伝説のあいつを?
280デフォルトの名無しさん
垢版 |
2023/03/13(月) 21:35:17.25ID:+WoIzVW7
零細企業のVBAすら書けない無能には間違いがあってもわからんだろうがな
281デフォルトの名無しさん
垢版 |
2023/03/14(火) 12:24:47.61ID:LCy+s25l
これからはリストラが大量に出るだろうね
エクセルの先生()からプログラマー()までPCとにらめっこする仕事は全部ChatGPTで済む虚業ってバレたんだから
2023/03/14(火) 12:37:28.99ID:goR8feNU
そう思い込むことで、カキコ本人にはどんなメリットがあるんだ?
個人の感想でしかないものにすがるしか、自我を保てないンか?
そんなメンタルならExcel使う事を辞めた方がいいぞ?
そんな得体の知れないものに頼らざるを得ない企業も長続きはしなくなるだろ
会議の席にAI同席させるンか?
283デフォルトの名無しさん
垢版 |
2023/03/14(火) 12:47:00.26ID:LCy+s25l
AIに任せるようになった企業が長続きしないというのはそちらの感想だよね
会議にAIも参加させられない企業と会議にAIが参加できる企業のどちらに柔軟性があるかは明白
2023/03/14(火) 12:51:49.78ID:IeRCsjIL
AIも道具の一つに過ぎない
2023/03/14(火) 13:06:56.83ID:goR8feNU
長年いろんな企業を見てきた経験からだ 個人の感想じゃねえ
マンパワーの重要性を認識できない上の方が居たら、大抵足許から崩れてく
会議の席でAIが「できます」っつったら任せるのか?それでコケた場合誰が責任取るんだ?
絵空事夢見て妄想に浸るのは勝手だが、企業もいきもの 維持し続けるための道具としてなら
使いたきゃ使えばいいが、病んだ時のリカバリーにはどうしても人の手は必要(当面は)

例えば、悪天候で電車止まった、架線が切れたようだ 四六時中稼働できる修理ロボットの出番だ! なんて時代はまだまだ先
必死でそういう時代が来るよう努力し続けるのは否定しないが、どうせそうなるんだから今から仕事放棄 は、ただのあほう
2023/03/14(火) 13:27:13.02ID:ZglUMoKm
理性的に考えれば今の時代は暗黒だから冷凍人間にでもなって輝かしい未来に解凍してもらうのが正解
287デフォルトの名無しさん
垢版 |
2023/03/14(火) 13:30:38.03ID:LCy+s25l
今置き換えられるのはPCとにらめっこする仕事って限定してるんだが
勝手に読み替えられても困る
2023/03/14(火) 13:49:04.92ID:2BnTQRjU
これだけは言える
そこらの並のPC教室や素人に毛が生えたインストラクター(笑)は間違いなく淘汰される。
2023/03/14(火) 14:25:56.84ID:28TiEHhw
こちらでよろしいでしょうか。すみません。

エクセルで、
「SUM関数」かつ「0が表示」のセルを、
選択する事は可能でしょうか。
2023/03/14(火) 16:50:49.76ID:goR8feNU
[ホーム]タブにある「検索と選択」で、検索をクリックして、検索する文字列に SUM ではダメなのか?
[ファイル]の[オプション]、[詳細設定]で □ ゼロ値のセルにゼロを表示する(Z)のチェックに限らず
=SUM( のセルを次々選択してくれるが? "かつ" の条件を満たさないとどうしてもイヤ!なのか?
Sheetの至る所に=SUM( がありまくりで絞り込みたいとか? 「0が表示」という日本語も変だけど
[オプション]での設定はBook全部に影響したと思うのだが
2023/03/14(火) 17:40:35.43ID:+v1A3gMG
>>285
経験なんて個人の感想の寄せ集めだぞ
同レベルの概念とわかってない時点で論外、やり直し
2023/03/14(火) 18:40:07.15ID:1O8NxYp2
>>289
フィルタで0を指定してからsumで検索すれば行けそう
2023/03/14(火) 19:37:13.34ID:28TiEHhw
>>290
仕事で、料理の数の合計を出しています。料理の数の入力が
ないセルは「空白」ですから、選択オプションで「空白セル」を
チェックし、「空白のセル(列)」をすべて非表示にできました。

最後は、自動で「SUM関数」かつ「(合計が)0の表示」のセルを
選択し、セル(列)を非表示にしたいのです。手動でやれよって話
かもしれませんが、マクロで自動化ってできるものなのでしょうか。
2023/03/14(火) 20:05:55.83ID:28TiEHhw
>>292

>>フィルタで0を指定してからsumで検索すれば行けそう
確認しました。列にならできると思います。しかし、
行方向のセルにフィルタをかける事はできませんでした。

行の一定の範囲のセルを選択したいです。行にフィルタを
かける事はできませんでした。行と列を入れ替えて、列に
フィルタをかけ、最後に行と列を入れ替えたらよいですか。
2023/03/14(火) 20:38:11.33ID:8uN0bEAR
>>289

各列の1行目にsum関数があるとして、
その合計が0ならその列を非表示にするというマクロならこんな感じか。
(データがどこまであるかわからんからとりあえずA列からF列までを対象にしてる)。

Sub 列を非表示()

Dim i As Long
For i = 1 To 6
If Cells(1, i) = 0 And Cells(1, i).HasFormula = True Then
Columns(i).EntireColumn.Hidden = True
End If
Next i
End Sub

sum関数かどうかまでは判定していないから
sum関数以外の関数が入っていてその値が0なら
その列も非表示になる。

後はどのセルに関数が入っているかわからんから
そこらへんは調整してくれ。
2023/03/14(火) 20:42:07.34ID:goR8feNU
セルを非表示 という書き方が戸惑う元だけど
>>290 の二行目に書いた Sheet上の0の値を[0]表示させない方法ではダメなのか?
SUMの結果が0のケースでも、0とは表示されず空白になるんだが?

セルの書式設定で ;;; にすることでセルの非表示ということらしいが、結果は変わるのか?
手元のExcelで試しているけど、どういう結果が欲しいのか分からんから戸惑ってる
わざわざ空白セルも非表示にする必要がさっぱりわからん 背景色とかが絡んで来る? 印刷時?
2023/03/14(火) 20:51:19.35ID:28TiEHhw
>>295

これが具体的なVBAコードですね!ありがとうございます。
説明不足でややこしくてすみません。
とりあえず、本やネットを見ながらコードを参考にし、実践
してみようと思います。皆様ありがとうございました。
2023/03/14(火) 21:06:36.93ID:28TiEHhw
>>296
おっしゃる通りで、表示させない方法で空白になりました。;;を使っても0が表示されず、
空白になります。この状態で、行の一定の範囲を選択して、選択オプションで「空白セル」
にチェックを入れます。しかし、「SUM関数かつ空白」が選択されず、列を非表示に
できません。SUM関数があると空白と認識されないようです。

>>わざわざ空白セルも非表示にする必要がさっぱりわからん 印刷時?
おっしゃる通りです。空白のセル(列)を非表示にし、印刷しないためです。
299デフォルトの名無しさん
垢版 |
2023/03/14(火) 23:37:15.42ID:WthbhZLX
聞く方も答える方も馬鹿で頭が痛くなる
このスレを立てた奴の頭のレベルの程度のせいか?
2023/03/15(水) 00:01:55.44ID:Ogi5eYUO
>>299みたいなのが賢いムーブなんですね、参考になります
2023/03/15(水) 07:40:00.44ID:dWb1Fnpz
送られてきたEXCELファイルの特定のセルにある文字列や数値を別のブックにある表シート(特定のセル)に反映させてデータを自動集計したい。
この場合どのようなコードが必要ですか?
2023/03/15(水) 10:52:57.27ID:bng7Ef1J
>>299
なぜ馬鹿の質問に馬鹿が答えてるのを見るとお前の頭が痛くなるのか因果関係を説明せよ

>>301
全然わからないならあきらめるか、初心者向けの本でも読んでもう少し自力でできるようになってからだな
303デフォルトの名無しさん
垢版 |
2023/03/15(水) 12:05:57.01ID:VvC5BQRV
>>301
そういうのは今はChatGPTに聞いた方が早いかと。
その質問をそのままコピペ、VBAのコードでと聞いたらこんな風に返ってきた。


VBAを使用して、Excelファイルから特定のセルの値を抽出し、別のブックにある特定のセルに値を反映させるには、以下のようなコードを使用できます。

Sub copyCellValue()
Dim srcBook As Workbook
Dim destBook As Workbook
Dim srcSheet As Worksheet
Dim destSheet As Worksheet
Dim srcRange As Range
Dim destRange As Range

'コピー元のブック、シート、セルを指定
Set srcBook = Workbooks.Open("path/to/source_file.xlsx")
Set srcSheet = srcBook.Worksheets("Sheet1")
Set srcRange = srcSheet.Range("A1")

'コピー先のブック、シート、セルを指定
Set destBook = Workbooks.Open("path/to/destination_file.xlsx")
Set destSheet = destBook.Worksheets("Sheet1")
Set destRange = destSheet.Range("B2")

'コピー元のセルの値をコピー先のセルに反映
destRange.Value = srcRange.Value

'ブックを閉じる
srcBook.Close
destBook.Close
End Sub
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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