Excel VBA 質問スレ Part76

■ このスレッドは過去ログ倉庫に格納されています
2022/05/01(日) 02:23:41.78ID:2t63WK/jM
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑2行に減ってるけど、同じ内容を3行に増やして貼り付けること

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

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

※前スレ
Excel VBA 質問スレ Part75
https://mevius.5ch.net/test/read.cgi/tech/1644384272/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2022/06/10(金) 23:11:39.01ID:rEbuXRdM0
>>432
え?詳しく
ググっても詳細出てこない。
禿そうだわ
2022/06/10(金) 23:14:29.48ID:rEbuXRdM0
あ、葛飾区のニュース出て来た
表計算ソフト式に誤りとか最低だろう。
テストしなかったのかな?
2022/06/10(金) 23:17:41.83ID:Vb4kLAL3M
>>436
検索初心者か?
普通にぐぐって一発で出るんだが
https://xtech.nikkei.com/atcl/nxt/news/18/13050/
2022/06/10(金) 23:24:30.64ID:bPqrOIr80
どーせsubtotalじゃなくsumで小計出してたせいで合計が2重計上されたとかじゃねーの
2022/06/11(土) 00:03:58.02ID:peHZyvXnd
Dick A as strong
Dick B as strong

If A > B then
A = Tachi
B = Uke
End if

A => B
2022/06/11(土) 00:50:08.66ID:c8NiZZbH0
>>440
ツッコミどころ満載やな
442デフォルトの名無しさん (ワッチョイ ff4f-LHJ+)
垢版 |
2022/06/11(土) 09:42:09.94ID:k8BssVI/0
A もB も
強そうな型だなオイ
2022/06/11(土) 11:19:57.24ID:zJAfd1A70
ストロングチューハイはやばい酔い方する
2022/06/11(土) 12:41:06.40ID:CM4vZAaMM
A = Bだとどうなるの?
2022/06/11(土) 14:14:10.27ID:ZxVNHiJ20
なんで竿がデカい方が攻めなんだよ
はっ倒すぞ
2022/06/11(土) 14:27:57.92ID:8O7zsVZWM
どこにも竿の大きさなんて書いてない
クラス定義まで見ない限り、何を比較してるのか、このコードだけではわからない
さては思い込みでコードを書いてバグを発生させちゃうタイプだな?
2022/06/11(土) 15:03:55.80ID:zJAfd1A70
分かってないだけでしょ
2022/06/11(土) 16:08:12.40ID:ZxVNHiJ20
If Dick(竿)A>DickB Then A=タチって書いてあんじゃんか
2022/06/11(土) 16:33:22.04ID:k7wiIunZM
Strongは精力じゃね?
大きさならSizeとかLengthとか
2022/06/11(土) 18:37:34.42ID:4UGI/r2E0
禿は精力が強い
2022/06/11(土) 19:01:23.35ID:qcSYfg6i0
B = Not(A)
じゃね
2022/06/11(土) 20:12:32.64ID:VlCDkB2oM
DickクラスのSizeプロパティは読み取り専用
Electプロパティは代入可能
Cumメソッドは1日5回以上使うと例外発生
2022/06/11(土) 21:54:22.38ID:Ejve8RvI0
ShapeとTextBoxをマクロで作ったのを
別のBookのSheetにコピペした時のフォントは
マクロ側とコピペ側だとどちらに依存しますか?
2022/06/11(土) 22:02:30.68ID:TK5b+qDd0
聞く前にやったほうが早いだろw
2022/06/11(土) 22:04:32.17ID:XvS1eUBu0
質問失礼いたします。
ユーザー定義型に以下のようなツリー型になる感じの物をPublicで宣言してて
クラスモジュールにユーザー定義型の変数を作っているのですが、
プロパティの作り方で悩んでいます。

以下標準モジュール内
Public Type MinorItemType ' 小項目
 minorItemName as String ' 小項目名
 minorItemID as Long
End Type

Public Type MajorItemType ' 大項目
 majorItemName as String ' 大項目名
 majorItemID as Long
 minorItem() as MinorItemType
End Type

以下クラスモジュール内
Dim majorItem_() as MajorItemType

この場合、以下のようにMajorItemType型のプロパティを作成して丸ごと渡すのか、
Public Property Get majorItem(ByVal num as Long) as MajorItemType
 majorItem = majorItem_(num)
End Property

それともユーザー定義型の中の変数へのプロパティを1つずつ作成するのか、
どちらが正しいのでしょうか?
ちなみに作成するプロパティは原則Getのみで、
変数に値を取得するのは、クラス内に作成したSubプロシージャで
シートへ値を取りに行かせる具合です。
2022/06/11(土) 22:38:15.29ID:kVPUfUKj0
正解はない
2022/06/11(土) 23:57:34.93ID:XvS1eUBu0
>>456
ありがとうございます。前者の方法で行ってみます。
2022/06/12(日) 00:52:49.29ID:SFQsQSvz0
戦車の砲塔で行ってみてやりにくかったら変えればいいんじゃね
2022/06/12(日) 01:40:55.69ID:QoN69QoAd
芋芋亀してみます!
2022/06/12(日) 18:48:33.62ID:cJxXuNHT0
文字列の一部分に0付き右詰めの数字を入れたいのだが・・・・
a = "000000000"
b = a
Mid(a, 2, 5) = 123
Debug.Print "変更前" & b
Debug.Print "変更後" & a

 結果
変更前000000000
変更後012300000
これだと左詰めなんだが、こうなるべきじゃないの?
変更後0123 000

midにRightをかぶせてみたんだが、
Right(Mid(a, 2, 5), 3) = 123
オブジェクトが必要て言われる。
どうすればいいの?
461デフォルトの名無しさん (ブーイモ MM67-bhaQ)
垢版 |
2022/06/12(日) 19:03:38.39ID:M5mGZ9TuM
format(123, "000000000")じゃ駄目なの?
2022/06/12(日) 19:09:33.96ID:DaJUN4Jhd
Mid(a, 2, 5) = 123
の右辺を数字のままにしてるからおかしくなると思うので
CStr(123)みたいに文字列にしてからセットすればいいんじゃ
2022/06/12(日) 19:30:47.38ID:ImMFuzyy0
むしろ
Mid(a, 2, 5) = 123
これでなんでaが012300000になるの?どう評価されてるの?
2022/06/12(日) 19:37:46.32ID:ImMFuzyy0
???

Sub foo()

a = 0
Mid(a, 1) = "aaa" '通る
Right(0, 2) = "bbb" 'エラー
Debug.Print a

End Sub
2022/06/12(日) 20:39:25.03ID:uZt7xySi0
自分ならright("000000000" & "123"の右側を取る
2022/06/12(日) 21:12:13.58ID:DaJUN4Jhd
ああ右詰で数字をいれたいのか
自分のレスは無視して
そもそも桁数も統一してないからそこから見直せ
2022/06/12(日) 21:35:58.65ID:cJxXuNHT0
Sub sample()
'01 PIC X(1)
'01 PIC 9(5)
'01 PIC X(3)
a = "A00000ABC": Debug.Print "元データ :" & a
Mid(a, 2, 5) = Format(123, "00000"): Debug.Print "パターン1:" & a
a = "A00000ABC"
Mid(a, 2, 4) = Format(123, "0000"): Debug.Print "パターン2:" & a
a = "A00000ABC"
Mid(a, 2, 5) = Format(123, "000"): Debug.Print "パターン3:" & a
a = "A00000ABC"
Mid(a, 2, 5) = 123: Debug.Print "パターン4:" & a
a = "A00000ABC"
c = "00000"
RSet c = 123
Mid(a, 2, 5) = c: Debug.Print "パターン5:" & a
End Sub

元データ :A00000ABC
パターン1:A00123ABC
パターン2:A01230ABC
パターン3:A12300ABC
パターン4:A12300ABC
パターン5:A 123ABC

パターン1が正解なんだけど、なぜパターン4は3文字分だけ書き換えるんだろう?
パターン4がOKならパターン5でもいけるような気がするが、パターン5は空白を埋める。
RSet Mid(a, 2, 5) = 123 はエラーになる
2022/06/12(日) 21:46:31.55ID:ImMFuzyy0
それ以前に
Mid(a, 2, 5) = Format(123, "00000")
でエラーが出ないのがおかしいだるお
2022/06/12(日) 21:52:55.42ID:SFQsQSvz0
ちなみに -123 のときどうする?
470デフォルトの名無しさん (スプッッ Sd1f-UGZ9)
垢版 |
2022/06/12(日) 22:19:45.52ID:+/mRZvLHd
ID:ImMFuzyy0

馬鹿は黙っていればいいのに
そうやって馬鹿を曝け出していると頭の皮膚も曝け出されるぞ
2022/06/12(日) 22:37:23.13ID:aOGWTw070
midステートメントは今ある文字列に対して別の文字列を被せるだけの動作だよ
2022/06/12(日) 23:03:38.74ID:b6RzJ+XoM
別の文字列を被せるのは仕様外動作だと思うけどな
2022/06/12(日) 23:07:02.46ID:ImMFuzyy0
何一つその動作がのってねぇ
https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/mid-function
2022/06/12(日) 23:10:22.37ID:UzvPms3IM
引数以外の手段で関数に値を代入(?)するという前代未聞の珍動作
何が起きるか分かったもんじゃない
2022/06/12(日) 23:13:02.41ID:cJxXuNHT0
つまり
Mid(a, 2, 5) = 123

aの2文字目から5文字分ところに、"123"を書き込むんだけど、
3文字しかないから、4-5文字目は何もしないてことだよね。
でも代入の原則論から言えば、足りない部分はスペースで埋めるんじゃないのか?
RSetは足りない部分はスペースで埋めてる。
まあ、それが仕様だて言えばそうだけど、
深く考えて作られてないのかな。
もし、RSetも3文字しか代入しないのなら、RIGHTやFORMATを使わなくても0埋めができるし、
単純な代入だから性能もいいはず。
2022/06/12(日) 23:16:04.57ID:cJxXuNHT0
>>473
それはmid関数。
midステートメントとは別物だよwww。
https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/mid-statement
オレもさっき知ったんだがwww
2022/06/12(日) 23:29:45.68ID:nFfW5LM6M
そんなものがあったのか!?
けど代入元の型は文字列になってるけど数値を代入していいのか?
2022/06/12(日) 23:33:25.21ID:ImMFuzyy0
>>476
ありがとう!!!
気になって眠れないとこだった。俺の頭がおかしくなったのかと思ったわw

ステートメント、一度目を通しておいたほうがいいね
https://excel-ubara.com/EXCEL/EXCEL908.html
>>477
vbaで何をいっとるんじゃい
2022/06/12(日) 23:54:08.09ID:cJxXuNHT0
>>477
どの言語もできるような気もするが。
出来ない言語なんかあったけ?
化石のような言語のCOBOLでもできる。
COBOLだと9型の変数があって、VBA風にかくと
Dim a as 99999
a = 123
でaを00123にしてくれる。
a=RIGHT("00000" & 123,5)なんてやってるのをみて驚いたわ。
2022/06/12(日) 23:56:26.34ID:as/ibVfq0
ちなみに、MidステートメントはLetステートメントと違ってヒープ領域の再確保を行わないようなので
めちゃくちゃいっぱい文字列を結合したり置き換えたりする文字列操作をMidステートメントで高速化できたりはする
色々注意しなきゃならんしめんどいけど
2022/06/13(月) 14:10:09.78ID:cuhQaR4kM
mid("00000",5-len(a),len(a))=a
なんてやってるの?
2022/06/13(月) 15:41:58.25ID:e6QxpplAd
文字列の一部分に0付き右詰めの数字を入れたいのだが・・・・
これがやりたい事なんだから
A.MIDステートメントを使うなら右辺の値を5桁固定にする
 Mid(a,2,5) = Format(123,"00000")
B.代入するの文字列を代入先の左側+5桁固定の値+代入先の右側にする
 a = Mid(a,1,1) & Format(123,"00000") & Mid(a,7,Len(a))
あたりに落ち着くのでは 
自分は誤解されないためにもBのようなコードがいいと思うけど
2022/06/13(月) 18:10:47.94ID:S+tXl/uoD
自分なら
right("00000" & 123, 5)
って書く
2022/06/13(月) 18:28:06.25ID:CiY+fWgN0
セルの書式設定に 0000# って書けばいいのに
2022/06/13(月) 19:38:44.31ID:5YQd33j2d
いやどうせVBAでやるならNumberFormatLocalでやろうよ
2022/06/13(月) 20:02:21.45ID:3bSnFxDm0
要件にもよるが正規表現とFormat()で。
2022/06/13(月) 21:14:24.62ID:c4yOIzj40
>>482
https://www.moug.net/tech/exvba/0140045.html
MIDステートメントのほうが速いらしい。
でもオレが試したら逆だったけど・・・・
2022/06/13(月) 22:37:41.37ID:pISmU68J0
みんなのコードカッコいいわ
やっぱりコードはカッコ良くなきゃ舐められるわな
2022/06/14(火) 01:08:48.71ID:GVYlqPTN0
>>488
他に見るやつがいないなら動きゃいいとか思ってしまう
2022/06/14(火) 01:18:48.91ID:MKKHJJii0
てか若者とお年を召された方のコードの書き方が明らかに違うのだが、古臭い目新しいとかあるのかな?
2022/06/14(火) 02:02:23.05ID:GVYlqPTN0
今は可読性悪いのは駄目ってなってるけど逆に改行や変数名の長さすらケチってた時代もあった
んで言語が進化するにつれて書き方も変わっていった
今でも昔の方法で書けるっちゃ書けるけどそれが古臭いってことだと思う
2022/06/14(火) 02:07:02.10ID:MKKHJJii0
お年を召された方(60~70代)のコード見たら、やたら変数ばかり多かった印象が。
変数使わなくても普通に書けばいいじゃんて部分まで変数に入れていた。
2022/06/14(火) 02:33:52.97ID:TUO2NKc8M
>>492
今でもコード中に定数をそのまま書くのは別に推奨されてないぞ
せめて別の人がコードを見た時に数字の意味がわかるようにしとかないとバグの元になる
2022/06/14(火) 07:10:06.79ID:r7EVbuk4D
>>492のコードはVBAに限らず可読性悪そう
495デフォルトの名無しさん (アウアウウー Sa67-IhGj)
垢版 |
2022/06/14(火) 07:54:24.65ID:7uTlYRrCa
>>492
変数にいれないで普通の書くのか?
定数なら定数として定義すると思うが
2022/06/14(火) 08:25:15.24ID:bcp0w+/6d
>名著「リーダブルコード」に「説明変数」という言葉が出てくる。
2022/06/14(火) 08:35:10.08ID:T3k1EtCC0
マジックナンバーは避けようぜ
後で見返す時に(この4って何を意味してるんだ…?)ってなると効率落ちる
2022/06/14(火) 08:37:28.94ID:YQpYn/pu0
郵便番号+電話番号ていう文字列があるんだが、郵便番号、電話番号を別々の変数に入れたいので
こうしてみたんだがうまくいかない。
なにか手はある?
いまType1は項目が2個だけど、なるべく一括で入れたいのだが・・・

Type Type1
Zip As String * 7
telnum As String * 11
End Type

Sub Sample()
Dim b As Type1
a = "151123408012341234"
b = a
End Sub
499デフォルトの名無しさん (ワッチョイ ff05-bM3h)
垢版 |
2022/06/14(火) 09:04:23.14ID:06qw5AlY0
aの文字列が固定長なら
Left(a,7)
Right(a,11)
でダメなんか
2022/06/14(火) 09:11:18.76ID:b1sVlKW1M
>>498
C系やVBなら可能だけどVBAではWin32APIを使わないと無理
また、可能だからと言って、複数の変数に一括でデータを入れるような書き方は可読性が下がるので推奨されない

コードをコンパクトに見せたいなら代入部分を以下のようにモジュール化するのがマスト
電話をRightで取り出さないのは、固定電話は桁数が違うから

Sub SetNumbers(ByRef T As Type1, N As String)
  T.Zip = Left(N, 7)
  T.telnum = Mid(N, 8, 11)
End Sub
2022/06/14(火) 10:48:30.78ID:WigeF4Tr0
>>498
若干無理矢理だけどクラス使えば似たような事は出来る
Type1.cls
Private Zip_ As String * 7
Private telnum_ As String * 11
Public Property Let Default(N As String)
Zip_ = Left(N, 7)
telnum = Mid(N, 8)
End Property
Public Property Get Zip()
Zip = Zip_
End Property
Public Property Get telnum()
telnum = telnum_
End Property
デフォルトプロパティの設定がちょっとトリッキー、こことかを参考に
https://thom.hateblo.jp/entry/2015/02/16/003000
あとは
Dim a As New Type1
a = "151123408012341234"
Debug.Print a.Zip
Debug.Print a.telnum
2022/06/14(火) 13:04:52.31ID:IIEda1opd
>>487
何を目的とするかによるけど
速度は重視しないのであれば比較的周知されているBの方がいいのではと思うだけで
書き方なんて色々あるんだから試行錯誤すればいいと思う
2022/06/14(火) 13:11:14.27ID:IIEda1opd
>>498
記憶があいまいだけど
長さの合計値が同じになる変数を持つ構造体を作ってそれをLSetで代入すれば可能だと思う

Type Type1
Zip As String * 7
telnum As String * 11
End Type
Type Type2
Value As String * 18
End Type

Sub Sample()
Dim b As Type1
Dim a As Type1
a.Value = "151123408012341234"
LSet b = a
End Sub
2022/06/14(火) 13:57:57.06ID:yUQgc7GAM
>>503
それで代入だけは可能だけど、電話番号が10桁だと末尾に自動的にスペースが入って11文字に補正される
固定長文字列はTrimもできないから、結局構造体を使う方法はトラブルの予感しかしない
2022/06/14(火) 14:36:41.07ID:IIEda1opd
>>504
与えられたデータだけの回答だからね
与えられた情報以外の事をあーだこーだいう人いるけど
それはその時考えたらよくない?
そもそもそういう事を言い出したら
質問のできるできないはできないって回答になるわけだし
2022/06/14(火) 14:46:19.33ID:QIi9ICtD0
与えられたデータっていうか、前提条件がはっきりしないからなぁ
>郵便番号+電話番号ていう文字列がある
以外は試してみたっていうコードからの推測だしな

まあおれなら合体文字列のセッターと郵便番号、電話番号のゲッターのプロパティ持つクラス作るかなぁ
中身はLeftとMidでいいんじゃね

固定長で最速を目指すならLSetもありかもしれんが

構造体うんぬんより、固定長文字列がトラブルの予感を感じさせるんだよなぁ、いろんなところで
507デフォルトの名無しさん (アウアウウー Sa67-IhGj)
垢版 |
2022/06/14(火) 15:27:21.00ID:jJwMl27ba
固定長文字列って文字数で良いんだっけ?
全角でもおなじ?
2022/06/14(火) 17:23:15.55ID:QIi9ICtD0
>>507
文字数だから全角でも同じはず
というか、文字列はユニコードってことになってるから全角とか半角とかないってことになってるんだよ、いちおう
2022/06/14(火) 19:35:25.43ID:vdrsXIkl0
関数2つ作ればいいのにわざわざ構造体やクラスつくる意味あんのかな
処理速度を気にするのは自力で動くの作れるようになってからだぞ
2022/06/14(火) 20:24:08.87ID:sqy53zZK0
>>487
簡単にいうと、なんでもMidステートメントに置き換えれば速くなるってわけでもない(そういう使い方にはちょっと注意がいる)
あと固定長文字列はいかにも速そうだが実は可変長文字列よりパフォーマンスが落ちることが割とあって、これまた扱いに注意を要する
まずは自分の望む動作をするコードを完成させることに注力した方がいいんでないかな
(速度改善や利便性向上みたいなのはなんていうか、キリのない作業でもあるし)
2022/06/15(水) 07:33:40.74ID:7lj8rf8tD
>>509
クラス1つ作ればいいのにわざわざ関数2つ作る意味あんのかな、
って疑問を持つ奴もいるからどっちもどっち
512デフォルトの名無しさん (アウアウウー Sa67-IhGj)
垢版 |
2022/06/15(水) 10:47:02.71ID:EefWJAwfa
自力でやれるなら好きに組めば良いけど
それもできない初心者だからな
2022/06/15(水) 11:15:30.59ID:WoPQ0lFMd
こういうやり方があるよって回答だけすればあとは質問者がそれを選択するだけでいいのに
他人の回答にケチ付けるやつはなんなんだろうと思う
2022/06/15(水) 11:50:46.53ID:RetoKdFBM
>>513
質問の内容(仕様)が明確じゃない部分を好き勝手に解釈した結果
2022/06/15(水) 12:43:33.38ID:2pwDzYJj0
>>513>>514
単に性格悪いってだけ
2022/06/15(水) 13:41:42.48ID:HRaMYgOd0
ユーザーフォームに毎回違う数のラベルを作った時に、それぞれのラベルでクリックイベントを作りたいのですが
ラベル数が変動するので作れません。
こういう場合、存在するどのラベルをクリックしたかを調べるにはどうすればいいですか?
2022/06/15(水) 14:04:25.53ID:2pwDzYJj0
>>516
昔やろうとしたけど超しんどいよ
vb6にはコントロール配列って機能があってそれを使えばよかったけど、
vbaでなぜかなくなっているので絶望的にめんどくさい
他の方法を考えたほうがいい

どうしてもやるなら「vba コントロール配列」あたりで検索して頑張ってくれ。
https://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_100_040.html
2022/06/15(水) 14:41:31.92ID:EFN5k3S5d
>>516
ラベルは最大数で作っといて、必要な分だけVisibleで見せる
2022/06/15(水) 17:15:36.58ID:HRaMYgOd0
>>517
他に方法がなさそうなのでこれでやってみます

>>518
Private Sub Label1_Click() を1000個とか作るのはちょっと汚いので止めておきます
2022/06/15(水) 17:23:32.33ID:C/XRb82A0
ラベルを動的に1000個作るのは汚くないのかよ
2022/06/15(水) 17:37:50.64ID:fn3i9wsI0
まずどうして1000個も必要なのかのほうが突っ込みどころな気がする
VBAってフォーム内でクリックした座標の検出できないのかいな
2022/06/15(水) 17:42:47.22ID:Vg/305+8M
クリックイベントを1000個作るぐらいならクラス化しちゃうかなぁ
どっちにしろ面倒臭いけど

大量にラベル設置した時のリネーム作業を簡単に出来る方法何かない?
2022/06/15(水) 17:51:28.07ID:2pwDzYJj0
いや普通につくるならプルダウンだろ
何かしらで分岐させれば3,4回の選択で済む
2022/06/15(水) 18:13:02.83ID:Vg/305+8M
構内マップを作らされてその上にマインスイーパみたいな升目を作らされ、機器の設置場所を設定出来るようにしたい。場所の指定は分かりづらいから文字だけにするのはNGね。なんて業務を振られる事も稀によくある
2022/06/15(水) 18:14:34.90ID:C/XRb82A0
何をどうしたいのか知らんし、その1000個の元データはどっからどう持ってくるのかしらんけど
Excel VBAだしな
俺ならシートで選択させてフォームのボタンかな
2022/06/15(水) 18:28:15.26ID:C/XRb82A0
>>524
で、それを実現するのがEXCEL VBAでラベル1000個なのか?
いろいろ検討して最終的にそれしかないとなったならまあご愁傷様
そうじゃないならあほとしか思えん
2022/06/15(水) 18:47:53.19ID:Vg/305+8M
それしかないじゃなくてそれしか許されないんだよ
アホかって思いながらやってるよ
2022/06/15(水) 18:57:22.93ID:myHzQmQR0
マス目なら座標取ればいいような気がするが許されないなら仕方がないな
2022/06/15(水) 19:32:37.12ID:JFwHiHWC0
a=郵便番号電話番号
b=Left(a,7)
c=Replace(a, Left(a, 7), "")
2022/06/15(水) 19:34:39.87ID:8qf24aUq0
1000ならまだいける、10000だったら逃げるけどな
2022/06/15(水) 19:40:20.96ID:2pwDzYJj0
>>529
NG
2022/06/15(水) 19:56:19.48ID:y5599rfC0
ワークシートの背景をマップにしてセルクリックでイメージを表示するイベント書けば?
2022/06/15(水) 19:57:21.42ID:TJhxNtAv0
昔ながらの紙の地図帳をイメージすればいいのか
最初のページで全体図をマッピングした概略図を掲げといて
詳細の判るまで拡大した一ページ(※)をマス目で区切って、縦に 1 2 3 横に A B C とか振り分けて
例えば B 4 とかをクリックしたら「設備名」の詳細を表示するとかか?

ユーザーフォームでそれぞれのマス目を呼び出すよりは、インデックスのSheetに全体図
そこをクリックで各Sheet (※)へジャンプとかのが楽そう  上が承認するかどうかだけど
上に承認してもらうようにサンプル作ってプレゼンしてもいいし
2022/06/15(水) 21:04:50.79ID:m3jNjkHdd
コントロールフォームの動的配置 & クラスモジュールでイベント起こすに一票
どうせどこかでイベント共通化の処理が入るだろうからスケーラビリティ確保のためにも
2022/06/15(水) 21:45:31.66ID:y5599rfC0
>>534
うぬ、それが一番だと思うけど何故にエクセルなのかと思ってしまう
2022/06/16(木) 01:45:48.79ID:s8B3FZ9N0
1000個のラベルと見せかけて、
実は1個だけラボルが混ざってるんじゃないだろうか。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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