Excel VBA 質問スレ Part72

■ このスレッドは過去ログ倉庫に格納されています
2021/07/18(日) 08:42:15.37ID:KskL7bEXd
!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付けるナリ

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

※前スレ
Excel VBA 質問スレ Part70
https://mevius.5ch.net/test/read.cgi/tech/1616072923/
Excel VBA 質問スレ Part71
https://mevius.5ch.net/test/read.cgi/tech/1621914481/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2021/07/31(土) 01:07:37.07ID:z2VXpram0
配列大好きなphpにも無いし諦めて
2021/07/31(土) 02:01:59.82ID:zyTpcIefM
numpyじゃねーし
358デフォルトの名無しさん (ワッチョイ 4ea4-qtbA)
垢版 |
2021/07/31(土) 02:12:54.61ID:VZqzqhPL0
ありがとうございます
出来ないんですね
私の書き方が悪くてエラーになっているのかと思っていました

演算張り付けやスピルみたいなイメージで
似たようなことが出来るのかなあと考えていました

>>356.353.352.350.347.346
359デフォルトの名無しさん (ワッチョイ cd8e-Z1qT)
垢版 |
2021/07/31(土) 03:57:57.92ID:mBcGx4p70
>>358
単にお前が馬鹿なだけ
行列計算とか言ってたのならわからんでもないけど
2021/07/31(土) 07:18:03.75ID:m7lSxL/B0
>>341
Valueの概念とか謎の箱理論とかは無視していいw
>>350の言うように言語仕様としてできないだけ
RANGEじゃないけどFORTRANみたいに配列同士の演算ができる言語もある
2021/07/31(土) 07:34:59.93ID:gz49wtMt0
rangeは範囲だから2セルの範囲に4セル分は入らない
2021/07/31(土) 09:51:11.76ID:BQeiJ/1Ba
念のため言っとくがイキって煽り散らしたいだけのハゲは無視しとけな
2021/07/31(土) 13:09:56.95ID:54/p9ERo0
バカバカバカバカ言わないでよ
もっと平和的にやりとりできないの?
こんなに優れた無料の質問スレなんだから品位を保つべき
2021/07/31(土) 13:15:16.77ID:TRd8RGa80
ならまずは>>363がドレスコードを守ってくれ
2021/07/31(土) 13:26:23.66ID:r3PlISUvH
当スレは頭の寂しい方はお断りしておりますので
2021/07/31(土) 13:26:59.26ID:z2VXpram0
>>363
なにか勘違いしているようだ
平和とか無料とか、どこかでコストがかかっている。それは誰かが負担している
「日本の平和」はアメリカの核の傘による米軍基地がコスト
掲示板の「無料」は広告。広告が実質ない5chなら、罵倒やマウンティング好きなアホが紛れる事がコストなんだ

君は
・「重火器が飛び交う戦場で無償で敵味方にその場で教えてもらう」
って事をしているんだ
もし平和的に回答がほしいなら、先に「おもしろ画像貼りますんでなんとか解決お願いします!」
みたいにすれば色々と有線して解決してもらえるんじゃないかな
2021/07/31(土) 15:03:38.39ID:yzAefFWlp
>>363
マウントじじいが貢ぎもの差し出せって。
でもこんな頭のおかしい連中ばかりじゃないから気にしなくていいよ。
2021/07/31(土) 15:37:59.04ID:Opw93OJSd
power queryがなかなか覚えられない
みなさんLETは使ってる?
2021/08/01(日) 00:37:47.31ID:ayuPdfaZ0
スレ間違ってないか?
2021/08/01(日) 16:26:51.08ID:12Gisk1n0
バカって言うヤツがバカなんだよ!
2021/08/01(日) 18:09:12.14ID:xwQRbrXaM
と、バカが申しております。
2021/08/01(日) 19:13:18.52ID:hqZEeiIx0
馬鹿ばっかりだな
2021/08/01(日) 19:46:33.48ID:RrQoAxKz0
むしろ寂しがり屋なのでは
374デフォルトの名無しさん (ブーイモ MMbe-j+NH)
垢版 |
2021/08/01(日) 20:59:52.11ID:SyCmN3PQM
ハゲばっかりやな
2021/08/01(日) 21:21:35.58ID:12Gisk1n0
毛の話しろよ
2021/08/01(日) 22:28:03.58ID:PkMCEWYW0
不毛だな
377デフォルトの名無しさん (ブーイモ MMbe-j+NH)
垢版 |
2021/08/02(月) 01:09:21.06ID:H8/w6NZQM
そんなつもりは毛頭ないのですが
2021/08/02(月) 13:19:27.48ID:UEok/DKqd
お前は頭髪がない
2021/08/02(月) 13:22:42.78ID:T+xK0N6pd
俺の芋頭がこんなに頭髪ないわけがない
2021/08/02(月) 18:21:53.57ID:R1Xzu7pP0
でもおまいらは禿げてるんでしょ?
2021/08/02(月) 23:15:41.33ID:x232xQhs0
>>358
クッソ亀だけどこれでいけない?
Range("C1:C2") = [A1:A2 + B1:B2]
2021/08/04(水) 00:57:35.42ID:0L18Nxkj0
>>370
バカって言うヤツがバカって言うヤツがバカなんだよ!
2021/08/04(水) 14:28:57.13ID:lGrUtpF/0
うるせーバカ!
2021/08/04(水) 15:03:01.69ID:09lFZjv40
相手を見下すというのはそれ相応の教育しかない方が行う所作であります故
2021/08/04(水) 15:54:39.96ID:jCZ4Eczla
アホだ
386デフォルトの名無しさん (ワッチョイ 8eba-By/s)
垢版 |
2021/08/04(水) 16:41:44.16ID:IdaynBO00
マウスで選択した範囲のハイパーリンクを自動で開きたいんですがどこを変更すればいいでしょうか?
Aにハイパーリンク A2からA4をマウスで選択 
A1 B1 C1
A2 B2 C2
A3
A4

A99 B99 C99

Sub Macro1()
' Keyboard Shortcut: Ctrl+Shift+P
Dim SelectionArea As Range
Set SelectionArea = Selection
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
End Sub
A5
2021/08/04(水) 17:04:08.48ID:IZchSkQ4a
>>386
SelectionのRangeをFor Eachで回してひとつひとつ開いていく
のがVBAの一般的な回答になるかと
2021/08/04(水) 17:16:32.22ID:5a+p99Z60
変数に入れてる意味なくて草
2021/08/04(水) 17:19:31.98ID:09lFZjv40
>>388
変数に入れるかどうかは「わかりやすさ」が関係してくるよ
個人開発が大きいVBAでその度合いを嘲笑するのは良くないと思う

ただ、386は俺も何やってるかよくわからん
2021/08/04(水) 18:15:11.64ID:Ww92yPFZa
テーブルで、フィルタしたあとの行削除をマクロの記録でやりたいけどうまくいかない。
フィルタして出たのが1行だとうまくいくけど、複数だとエラー。

テーブルがある。ある一つの列の、特定の文字をフィルタする。(その文字がないときはマクロ押さないつもり)
その列の上の下矢印で全選択、可視セルのみ選択。タブの行削除。フィルタ解除。
この流れってマクロの記録じゃムリ?
1行
で1004エラー?
2021/08/04(水) 18:44:53.04ID:bSPJ2kBBM
マクロで処理するならフィルター要らないかな
記録だけでコード書くのは無理がある処理かな
2021/08/04(水) 18:51:01.89ID:7NmqzzLqM
ムリ
2021/08/04(水) 20:15:52.27ID:14yWBG2X0
マクロの記録だけで業務改善する職場って未来あるよな
2021/08/04(水) 20:43:15.85ID:b6iWr/iv0
未来は僕等の手の中
2021/08/05(木) 14:48:49.27ID:+e5nazzCa
390ですがインストラクターのネタ帳ってとこの改造してみたらできるようになりました(毎回エラーでるけど成功してるので気にせず😌)。

p.s.
印刷時の見た目だけがいい、セル結合された表テンプレで作業を求められる同士が救済されますように…。。
2021/08/06(金) 16:13:36.56ID:T/jNWxQK0
ドの付く初心者です、というよりこういうのを作るのも初めてです

Findで任意の文字列が入ったセルを取得して、A1からそのセルまでを削除するマクロを作りたいのですが
Findの返り値がRangeなので削除するときの範囲指定がうまくいきません
たぶん基礎的なところを理解してないのでダメなんだとは思うんですが、とっかかりが欲しいです
お力をお貸しください

Dim rng As Range
Set rng = ThisWorkbook.Worksheets(1).Range("A1:A10000") _
.Find(What:="SUGOI", LookAt:=xlWhole, SearchOrder:=xlByRows)
これでrngに任意の文字列の座標を取得

この後ろでRange().Delete使って消したいです
2021/08/06(金) 17:02:36.53ID:Oz5kLkmeM
.range(.cells(1,1),.range(適当な範囲)).delete
2021/08/06(金) 20:18:49.98ID:8V+dHMZB0
削除して無くなったセルを詰めるのだろうか
2021/08/06(金) 20:58:11.36ID:3pn6mo5YM
マクロの記録で、、、
2021/08/06(金) 20:58:32.58ID:ZjxmW7bq0
どういう範囲指定か分からんけど返り値のRange.Rowで行数も取れるよ
FindはExcel上のCtrl+Fにも影響するからForEachで検索するようになったな
2021/08/07(土) 13:00:42.96ID:slTH9qD1d
>>397-400
皆様アドバイスありがとうございます

この土日はPCに触れられないため、助言をすぐ実践!とはいきませんが
いただいた助言、ありがたく試させていただきます
2021/08/07(土) 16:23:06.08ID:IR0XtVNG0
Range("A1",rng).clear
Deleteじゃなくてクリアしたいならこれ
2021/08/08(日) 08:21:09.95ID:ebb310K00
クラスでメインコードがすっきりとしていると機能追加も楽だね
2021/08/08(日) 10:53:34.69ID:Yzbpuv/w0
コード書いてる時ってどんな気分ですか?
2021/08/08(日) 10:59:34.31ID:5UdbG2j90
パズル解いてる気分
2021/08/08(日) 11:24:54.00ID:XIbBz2idd
めんどくせー
結果だけ欲しい
2021/08/08(日) 11:53:06.78ID:/228TsvP0
外注すればいいんじゃね
2021/08/08(日) 15:58:39.73ID:wvip2OSH0
たしかにパズルだな
2021/08/08(日) 16:26:56.76ID:gGBnC+Z00
美少女パズルRPG「パズルガールズ」
https://cdn.amz.appget.com/c/wp-content/uploads/2021/07/pg_8142870_1.jpg
2021/08/08(日) 16:30:40.54ID:N9yN2q6hM
VBAなんて所詮操作の
2021/08/08(日) 16:31:53.22ID:N9yN2q6hM
失礼
VBAなんて所詮操作の自動化なんで、慣れたらパズルというより手順書書くようなもんだ
どっちかというとワークシート関数を使いこなすほうがパズル
2021/08/08(日) 23:30:31.22ID:jh5zCN5Z0
ActiveWorkbookが入っているフォルダの名前の先頭に
ActiveWorkbookのSheets(1).Range("A2").Valueを付けたいです。
しかしフォルダ名の取得に失敗しています。
ActiveWorkbook.Path(フルパス)を\で区切った最後の文字列だと思いますが
もっと手短に取得する方法があったら教えてください。
2021/08/09(月) 00:14:13.54ID:9VfepREK0
名前分解=split(名前,"\")(ubound(split(名前,"\"))
2021/08/09(月) 00:43:14.90ID:9VfepREK0
あっカッコが足りない
2021/08/09(月) 17:35:43.32ID:gGnrAdRU0
ださっ
2021/08/10(火) 18:56:58.22ID:9fiWluCI0
FileSystemObject使えばいいんじゃね?
ファイルそのものを操作しないならちょっと面倒に感じるかもだけど
2021/08/10(火) 21:44:06.51ID:dMuyff760
やや冗長だけど、fsoは使って損は無いと思う。¥とsplitは頭が疲れる

Sub foo()

Set fso = CreateObject("Scripting.FileSystemObject")
Set mybook = fso.getfile(ThisWorkbook.FullName)

Set mybook_parent = mybook.parentfolder
Header = ActiveWorkbook.Sheets(1).Range("A2").Value
Debug.Print Header & mybook_parent.Name

End Sub
2021/08/10(火) 23:53:30.63ID:Xm+HKu32M
splitが楽だと思うが、、、
2021/08/10(火) 23:57:50.14ID:plMJ/ypm0
>>404
締切のある「数独」
2021/08/11(水) 02:05:15.42ID:yV4dFjvN0
>>413
ubound(split は禁じ手って言われてる
2021/08/11(水) 02:19:37.21ID:T0yXhT3EM
>>420
なんで?
同じ処理を2回やってるから配列変数に入れたくなるけど、禁止するほどの理由でもないし
2021/08/11(水) 04:35:09.41ID:KlHs/LBx0
InstrRevじゃだめなん?
2021/08/11(水) 05:55:28.37ID:LQvUe8o6H
文字列として取得したいだけならまだしも、フォルダ名変えたいんでしょ?
普通にFileSystemObject使った方がいいよ
2021/08/11(水) 12:03:15.14ID:pcBI0cgA0
なんにしても、開いてるエクセルのあるフォルダの名前とか変えれんと思うのだがのう
2021/08/11(水) 12:29:18.95ID:oEEdpHhhM
フォルダ作って、開いてないファイルは移動して、開いてるファイルは新しいフォルダーに名前を付けて保存ってして、
最後に要らんフォルダとファイルを消せばリネームしたように見える(見えるだけ)
2021/08/11(水) 12:30:50.00ID:N26Fs5+x0
20180811_フォルダ名
みたいにバックアップつくル目的かと思ってた
2021/08/11(水) 13:00:28.54ID:pcBI0cgA0
リネームすらできないのに、どうやって自分自身を含むフォルダを削除できるんだ?
428デフォルトの名無しさん (ラクッペペ MM8b-OMgf)
垢版 |
2021/08/11(水) 13:04:20.40ID:dnSnLDjMM
名前をつけて保存
2021/08/11(水) 13:08:03.81ID:jh4/giPJM
非同期でスクリプトを実行してから
自分を閉じる
スクリプトの動作は一定時間スリープしてからフォルダごと削除
で、できる?
2021/08/11(水) 13:19:34.76ID:pcBI0cgA0
基本的にはそれでできるだろうけど、
権限の問題とか、ファイルがルートに置かれてたりしたときとか、考慮点はいっぱいある
2021/08/11(水) 13:24:26.65ID:4Gud1KwJa
自分が書いたコードを公開すればいいのに、みなさんよくこの質問を答える気になるね
2021/08/11(水) 15:19:39.84ID:BgXnPp0P0
そう思うなら自分が書いたコードを公開すればいいのに
2021/08/11(水) 16:01:47.79ID:wST2jK7f0
的外れ
434デフォルトの名無しさん (ラクッペペ MM8b-OMgf)
垢版 |
2021/08/11(水) 18:18:12.44ID:6659knn7M
答える方もテキトーだから気にするな
435デフォルトの名無しさん (アウアウウー Sa55-zfXN)
垢版 |
2021/08/11(水) 22:13:22.02ID:0mcLwEZRa
的を得る?的を射る?
2021/08/11(水) 22:20:07.30ID:N26Fs5+x0
今は両方正解とも言われてるな
437デフォルトの名無しさん (ワッチョイ 0101-NW/4)
垢版 |
2021/08/11(水) 23:18:26.09ID:/u/X/l7G0
射的場では、景品が的です。
射貫けば、ば的が得られるのです。
というムチャクチャな言い訳で、得るもOKになったらしいですぞ。
2021/08/11(水) 23:51:27.40ID:MV8X3c1h0
教養ないやつのせいで誤用が標準化されるのか
2021/08/11(水) 23:57:08.62ID:N26Fs5+x0
「新しい:あたらしい」
も、
元々は「あらたしい」が正しい
今更これに対して教養がどうとか思わんでしょ。そのうち慣れる
2021/08/12(木) 00:28:12.75ID:AcVN/mcWM
「全然」の用法は一周して元に戻ったけどな
441デフォルトの名無しさん (ワッチョイ 0101-NW/4)
垢版 |
2021/08/12(木) 00:36:07.89ID:2S4isd+w0
>>439
新しいは、英語の不定冠詞が母音の前で変化するのと同じで、単純に言いにくいからですよ。
当然の成り行きなんです。
翻って的を得るは、小賢しい屁理屈じゃないですか。
2021/08/12(木) 00:44:37.62ID:BTMS1DN70
>>441
さすがにあの言い訳は後付だろう
みんなが間違えてるけど意味が通じるからok
2021/08/12(木) 00:46:04.06ID:XfbSLdwiM
いや、それも
「をいる」
より
「をえる」
のほうが言いやすいからと解釈できますよ
「い」は口を横に広げないといけないかど
「え」ならそれほど広げる必要もなくその後の「る」にも移行しやすいからね
2021/08/12(木) 01:26:40.50ID:YbO1i5Cqd
「こんにちは」と書いて「こんにちわ」と発音するのも、knifeをナイフと読むのも、言いやすいように変化しただけ
言葉ってのはそういうもん
2021/08/12(木) 01:30:00.55ID:jC6xQX8qd
>>438
世界中の言語、習慣、伝統や文化のほとんどは、教養のないやつが作り上げた物なんだぜ
2021/08/12(木) 02:58:07.28ID:aOGRiEATH
的もらえたとして、もらうやついるの?
2021/08/12(木) 07:17:08.83ID:BTMS1DN70
>>446
縁日の射的
2021/08/12(木) 08:25:03.59ID:F2ZBInFgM
じゃあknifeは昔
クゥナイフとか言われてたのか
2021/08/12(木) 09:03:50.69ID:KOJd5FjgH
>>448
そうだよ
発音しない子音は口を動かすのが面倒で言わなくなっただけで、間違いがどんどん定着してった
2021/08/12(木) 09:08:47.23ID:6jf0e9cQd
「延々と」を「永遠と」と書いたり言ったりする間違いが増えてて気になる
2021/08/12(木) 10:25:30.66ID:8wOIyJEba
スレと全く関係ない話で
2021/08/12(木) 10:31:28.13ID:JfgsXMu40
fightとかどう読んでたんだよ
ファイグフトかよ

ハードルが敷居に変わりつつある
フンイキがフインキに変わりつつある
2021/08/12(木) 11:06:43.36ID:BTMS1DN70
>>452
そのとおり。昔は全て表記通りの発音だった。
欧米圏内は色々な言語が複雑に混じり合った経緯があるので、「なんで?」と考えるとキリないぞ

更に言うとネットやテレビが台頭してからは言語は固定されるだろう、と学者は予想していたけどあんまりそうでもないようだ
2021/08/12(木) 11:29:35.78ID:cpovNsRqd
ネットで声の大きいバカが目立てるようになったおかげで、間違いの広がる速度がむしろ加速してる
ウィルスやワクチンの誤解もひどいもんだし
2021/08/12(木) 11:32:55.00ID:stPdQEKya
あの…VBA…
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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