!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
探検
Excel VBA 質問スレ Part76
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ブーイモ MMff-XZ6m)
2022/05/01(日) 02:23:41.78ID:2t63WK/jM418デフォルトの名無しさん (ワンミングク MM61-aTQF)
2022/06/09(木) 00:00:12.33ID:XIUzPNKLM ※よろず~ニュース
波平さん銅像に髪の毛戻る 引き抜かれてから5日の〝スピード植毛〟
https://yorozoonews.jp/article/14640597
杉田 康人
https://public.potaufeu.asahi.com/dd83-p/picture/26885823/46ac4b106abdd0873e85fa50ea6f8cbb_640px.jpg
東京都世田谷区の桜新町商店街にある人気アニメ「サザエさん」一家の銅像から引き抜かれていた髪の毛が8日、復活した。同商店街によると3日朝、波平さんのトレードマークとなっている貴重な1本毛が抜かれているのが見つかった。ワカメちゃんの頭頂部から跳ね出した〝アホ毛〟3本もなくなっていたが、商店街の依頼を受けた業者が8日午後までに修復した。
サザエさん一家は、桜新町に住んでいる設定。作者の長谷川町子氏の美術館・記念館おひざ元の桜新町商店街は、作品ゆかりのストリートとして知られる。銅像は2012年(平成24)に建立したが、商店街の担当者によると波平さんはこれまでに6度、毛を引き抜かれる憂き目に遭っている。ワカメちゃんの髪が抜かれるのは初だという。
銅像の髪の毛は、針金にビニールをコーティングしたもの。(略)
※省略していますので全文はソース元を参照して下さい。
波平さん銅像に髪の毛戻る 引き抜かれてから5日の〝スピード植毛〟
https://yorozoonews.jp/article/14640597
杉田 康人
https://public.potaufeu.asahi.com/dd83-p/picture/26885823/46ac4b106abdd0873e85fa50ea6f8cbb_640px.jpg
東京都世田谷区の桜新町商店街にある人気アニメ「サザエさん」一家の銅像から引き抜かれていた髪の毛が8日、復活した。同商店街によると3日朝、波平さんのトレードマークとなっている貴重な1本毛が抜かれているのが見つかった。ワカメちゃんの頭頂部から跳ね出した〝アホ毛〟3本もなくなっていたが、商店街の依頼を受けた業者が8日午後までに修復した。
サザエさん一家は、桜新町に住んでいる設定。作者の長谷川町子氏の美術館・記念館おひざ元の桜新町商店街は、作品ゆかりのストリートとして知られる。銅像は2012年(平成24)に建立したが、商店街の担当者によると波平さんはこれまでに6度、毛を引き抜かれる憂き目に遭っている。ワカメちゃんの髪が抜かれるのは初だという。
銅像の髪の毛は、針金にビニールをコーティングしたもの。(略)
※省略していますので全文はソース元を参照して下さい。
419デフォルトの名無しさん (ブーイモ MM39-M86+)
2022/06/09(木) 04:46:01.01ID:CxlByAWLM このハゲ
/ ̄ ̄ ̄ ̄ ̄ ̄\
/ \
/ ヽ
l:::::::::. |
|:::::::::: (●) (●) |
|::::::::::::::::: \___/ |
ヽ:::::::::::::::::::. \/ ノ
/ ̄ ̄ ̄ ̄ ̄ ̄\
/ \
/ ヽ
l:::::::::. |
|:::::::::: (●) (●) |
|::::::::::::::::: \___/ |
ヽ:::::::::::::::::::. \/ ノ
420デフォルトの名無しさん (ワッチョイ ca4f-QyWa)
2022/06/09(木) 19:07:14.80ID:cD/wL2EQ0 いや
お前らハゲ散らかし過ぎだろ
お前らハゲ散らかし過ぎだろ
421デフォルトの名無しさん (ワッチョイ 892f-M86+)
2022/06/09(木) 21:45:50.80ID:WYCVR9XP0 >>420
そんなつもりは毛頭ございません
そんなつもりは毛頭ございません
422デフォルトの名無しさん (ワッチョイ 86da-fOeb)
2022/06/09(木) 22:38:52.28ID:pASwhhxq0 パソコンばっかやっているから禿るんだわ
いい加減気がつけよ
いい加減気がつけよ
423デフォルトの名無しさん (スッップ Sdea-1xqW)
2022/06/09(木) 22:48:34.88ID:/RbqsnKRd 禿げてる奴がパソコンばっかやるようになるんだわ
人生って残酷だよな
人生って残酷だよな
424デフォルトの名無しさん (ワッチョイ 892f-M86+)
2022/06/10(金) 07:26:23.24ID:1o37Jrb90 もうしわ毛ありません
425デフォルトの名無しさん (ワッチョイ 86da-fOeb)
2022/06/10(金) 07:28:26.18ID:rEbuXRdM0 真面目に話すと、パソコン作業は頭使うしストレスの負荷が高いから禿やすいとは聞いた。
426デフォルトの名無しさん (ワッチョイ 1abd-+jz7)
2022/06/10(金) 08:55:47.16ID:kCKMlptW0 人間関係の煩わしさでストレスの負荷が多い場合が多いから、パソコン作業はハゲにくいらしいよ
427デフォルトの名無しさん (スフッ Sdea-Rebr)
2022/06/10(金) 12:04:33.87ID:F7hdpVFcd パソコンからは強い電磁波が出てるから、パソコン作業は禿げやすいとは聞いた。
428デフォルトの名無しさん (アウアウウー Sa11-3oMX)
2022/06/10(金) 12:51:05.36ID:zP3+9Ywoa ハゲ対策の情報もいっぱい持ってるから予防できる
429デフォルトの名無しさん (ワントンキン MM5a-+jz7)
2022/06/10(金) 13:28:56.18ID:dcEjX7ueM 男性ホルモンの優位でハゲるから(*ノω・*)テヘ
430デフォルトの名無しさん (スッップ Sdea-1xqW)
2022/06/10(金) 13:52:15.99ID:6StqYoESd パソコンの前でやる事と言ったらそれしか無いからな
431デフォルトの名無しさん (ワッチョイ 86da-fOeb)
2022/06/10(金) 18:44:17.05ID:rEbuXRdM0 男性ホルモンが盛んなのですから禿る
432デフォルトの名無しさん (スッップ Sdea-QKcq)
2022/06/10(金) 22:17:29.28ID:e4qm213id このスレで質問するレベルの馬鹿が作ったExcel表のせいで葛飾区の保育所は大騒ぎ
433デフォルトの名無しさん (ワッチョイ 85a5-Rebr)
2022/06/10(金) 22:31:48.31ID:lQlywAWy0 エクセル2016で複数のbook開いてると単体で開いてるときよりもずっとVBAの動作が遅くなるんだけど
解決策知ってる人いる?
解決策知ってる人いる?
434デフォルトの名無しさん (ワッチョイ 4a42-TpYW)
2022/06/10(金) 22:34:53.56ID:/aCQrqDp0 複数開かなきゃいいんじゃね
435デフォルトの名無しさん (HK 0H1a-7/uH)
2022/06/10(金) 23:02:11.31ID:yoZYMWv5H >>432
(´;ω;`)
(´;ω;`)
436デフォルトの名無しさん (ワッチョイ 86da-fOeb)
2022/06/10(金) 23:11:39.01ID:rEbuXRdM0437デフォルトの名無しさん (ワッチョイ 86da-fOeb)
2022/06/10(金) 23:14:29.48ID:rEbuXRdM0 あ、葛飾区のニュース出て来た
表計算ソフト式に誤りとか最低だろう。
テストしなかったのかな?
表計算ソフト式に誤りとか最低だろう。
テストしなかったのかな?
438デフォルトの名無しさん (ブーイモ MM71-Rebr)
2022/06/10(金) 23:17:41.83ID:Vb4kLAL3M439デフォルトの名無しさん (ワッチョイ 5d93-QMxd)
2022/06/10(金) 23:24:30.64ID:bPqrOIr80 どーせsubtotalじゃなくsumで小計出してたせいで合計が2重計上されたとかじゃねーの
440デフォルトの名無しさん (スッップ Sd1f-UWq1)
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
Dick B as strong
If A > B then
A = Tachi
B = Uke
End if
A => B
441デフォルトの名無しさん (ワッチョイ ff7c-a420)
2022/06/11(土) 00:50:08.66ID:c8NiZZbH0 >>440
ツッコミどころ満載やな
ツッコミどころ満載やな
442デフォルトの名無しさん (ワッチョイ ff4f-LHJ+)
2022/06/11(土) 09:42:09.94ID:k8BssVI/0 A もB も
強そうな型だなオイ
強そうな型だなオイ
443デフォルトの名無しさん (ワッチョイ cfda-aoxg)
2022/06/11(土) 11:19:57.24ID:zJAfd1A70 ストロングチューハイはやばい酔い方する
444デフォルトの名無しさん (ブーイモ MM67-GGE9)
2022/06/11(土) 12:41:06.40ID:CM4vZAaMM A = Bだとどうなるの?
445デフォルトの名無しさん (ワッチョイ 7317-Vvh6)
2022/06/11(土) 14:14:10.27ID:ZxVNHiJ20 なんで竿がデカい方が攻めなんだよ
はっ倒すぞ
はっ倒すぞ
446デフォルトの名無しさん (ブーイモ MM27-IRXD)
2022/06/11(土) 14:27:57.92ID:8O7zsVZWM どこにも竿の大きさなんて書いてない
クラス定義まで見ない限り、何を比較してるのか、このコードだけではわからない
さては思い込みでコードを書いてバグを発生させちゃうタイプだな?
クラス定義まで見ない限り、何を比較してるのか、このコードだけではわからない
さては思い込みでコードを書いてバグを発生させちゃうタイプだな?
447デフォルトの名無しさん (ワッチョイ cfda-aoxg)
2022/06/11(土) 15:03:55.80ID:zJAfd1A70 分かってないだけでしょ
448デフォルトの名無しさん (ワッチョイ 7317-Vvh6)
2022/06/11(土) 16:08:12.40ID:ZxVNHiJ20 If Dick(竿)A>DickB Then A=タチって書いてあんじゃんか
449デフォルトの名無しさん (ブーイモ MMff-GGE9)
2022/06/11(土) 16:33:22.04ID:k7wiIunZM Strongは精力じゃね?
大きさならSizeとかLengthとか
大きさならSizeとかLengthとか
450デフォルトの名無しさん (ワッチョイ cfda-aoxg)
2022/06/11(土) 18:37:34.42ID:4UGI/r2E0 禿は精力が強い
451デフォルトの名無しさん (ワッチョイ cfda-GGE9)
2022/06/11(土) 19:01:23.35ID:qcSYfg6i0 B = Not(A)
じゃね
じゃね
452デフォルトの名無しさん (ブーイモ MMff-GGE9)
2022/06/11(土) 20:12:32.64ID:VlCDkB2oM DickクラスのSizeプロパティは読み取り専用
Electプロパティは代入可能
Cumメソッドは1日5回以上使うと例外発生
Electプロパティは代入可能
Cumメソッドは1日5回以上使うと例外発生
453デフォルトの名無しさん (ワッチョイ 23da-JG4s)
2022/06/11(土) 21:54:22.38ID:Ejve8RvI0 ShapeとTextBoxをマクロで作ったのを
別のBookのSheetにコピペした時のフォントは
マクロ側とコピペ側だとどちらに依存しますか?
別のBookのSheetにコピペした時のフォントは
マクロ側とコピペ側だとどちらに依存しますか?
454デフォルトの名無しさん (ワッチョイ f368-zkCy)
2022/06/11(土) 22:02:30.68ID:TK5b+qDd0 聞く前にやったほうが早いだろw
455デフォルトの名無しさん (ワッチョイ 6302-/e9c)
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プロシージャで
シートへ値を取りに行かせる具合です。
ユーザー定義型に以下のようなツリー型になる感じの物を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プロシージャで
シートへ値を取りに行かせる具合です。
456デフォルトの名無しさん (ワッチョイ ff42-kGh4)
2022/06/11(土) 22:38:15.29ID:kVPUfUKj0 正解はない
457デフォルトの名無しさん (ワッチョイ 6302-/e9c)
2022/06/11(土) 23:57:34.93ID:XvS1eUBu0 >>456
ありがとうございます。前者の方法で行ってみます。
ありがとうございます。前者の方法で行ってみます。
458デフォルトの名無しさん (ワッチョイ cfda-GGE9)
2022/06/12(日) 00:52:49.29ID:SFQsQSvz0 戦車の砲塔で行ってみてやりにくかったら変えればいいんじゃね
459デフォルトの名無しさん (スッップ Sd1f-UWq1)
2022/06/12(日) 01:40:55.69ID:QoN69QoAd 芋芋亀してみます!
460デフォルトの名無しさん (ワッチョイ bf3d-VcWV)
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
オブジェクトが必要て言われる。
どうすればいいの?
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")じゃ駄目なの?
462デフォルトの名無しさん (スップ Sd1f-/e9c)
2022/06/12(日) 19:09:33.96ID:DaJUN4Jhd Mid(a, 2, 5) = 123
の右辺を数字のままにしてるからおかしくなると思うので
CStr(123)みたいに文字列にしてからセットすればいいんじゃ
の右辺を数字のままにしてるからおかしくなると思うので
CStr(123)みたいに文字列にしてからセットすればいいんじゃ
463デフォルトの名無しさん (ワッチョイ f368-zkCy)
2022/06/12(日) 19:30:47.38ID:ImMFuzyy0 むしろ
Mid(a, 2, 5) = 123
これでなんでaが012300000になるの?どう評価されてるの?
Mid(a, 2, 5) = 123
これでなんでaが012300000になるの?どう評価されてるの?
464デフォルトの名無しさん (ワッチョイ f368-zkCy)
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
Sub foo()
a = 0
Mid(a, 1) = "aaa" '通る
Right(0, 2) = "bbb" 'エラー
Debug.Print a
End Sub
465デフォルトの名無しさん (ワッチョイ 6393-TIMK)
2022/06/12(日) 20:39:25.03ID:uZt7xySi0 自分ならright("000000000" & "123"の右側を取る
466デフォルトの名無しさん (スップ Sd1f-/e9c)
2022/06/12(日) 21:12:13.58ID:DaJUN4Jhd ああ右詰で数字をいれたいのか
自分のレスは無視して
そもそも桁数も統一してないからそこから見直せ
自分のレスは無視して
そもそも桁数も統一してないからそこから見直せ
467デフォルトの名無しさん (ワッチョイ bf3d-VcWV)
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 はエラーになる
'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 はエラーになる
468デフォルトの名無しさん (ワッチョイ f368-zkCy)
2022/06/12(日) 21:46:31.55ID:ImMFuzyy0 それ以前に
Mid(a, 2, 5) = Format(123, "00000")
でエラーが出ないのがおかしいだるお
Mid(a, 2, 5) = Format(123, "00000")
でエラーが出ないのがおかしいだるお
469デフォルトの名無しさん (ワッチョイ cfda-GGE9)
2022/06/12(日) 21:52:55.42ID:SFQsQSvz0 ちなみに -123 のときどうする?
470デフォルトの名無しさん (スプッッ Sd1f-UGZ9)
2022/06/12(日) 22:19:45.52ID:+/mRZvLHd ID:ImMFuzyy0
馬鹿は黙っていればいいのに
そうやって馬鹿を曝け出していると頭の皮膚も曝け出されるぞ
馬鹿は黙っていればいいのに
そうやって馬鹿を曝け出していると頭の皮膚も曝け出されるぞ
471デフォルトの名無しさん (ワッチョイ 9349-KFM3)
2022/06/12(日) 22:37:23.13ID:aOGWTw070 midステートメントは今ある文字列に対して別の文字列を被せるだけの動作だよ
472デフォルトの名無しさん (ラクッペペ MM7f-Y3OE)
2022/06/12(日) 23:03:38.74ID:b6RzJ+XoM 別の文字列を被せるのは仕様外動作だと思うけどな
473デフォルトの名無しさん (ワッチョイ f368-zkCy)
2022/06/12(日) 23:07:02.46ID:ImMFuzyy0474デフォルトの名無しさん (ラクッペペ MM7f-Y3OE)
2022/06/12(日) 23:10:22.37ID:UzvPms3IM 引数以外の手段で関数に値を代入(?)するという前代未聞の珍動作
何が起きるか分かったもんじゃない
何が起きるか分かったもんじゃない
475デフォルトの名無しさん (ワッチョイ bf3d-VcWV)
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埋めができるし、
単純な代入だから性能もいいはず。
Mid(a, 2, 5) = 123
は
aの2文字目から5文字分ところに、"123"を書き込むんだけど、
3文字しかないから、4-5文字目は何もしないてことだよね。
でも代入の原則論から言えば、足りない部分はスペースで埋めるんじゃないのか?
RSetは足りない部分はスペースで埋めてる。
まあ、それが仕様だて言えばそうだけど、
深く考えて作られてないのかな。
もし、RSetも3文字しか代入しないのなら、RIGHTやFORMATを使わなくても0埋めができるし、
単純な代入だから性能もいいはず。
476デフォルトの名無しさん (ワッチョイ bf3d-VcWV)
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
それはmid関数。
midステートメントとは別物だよwww。
https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/mid-statement
オレもさっき知ったんだがwww
477デフォルトの名無しさん (ラクッペペ MM7f-Y3OE)
2022/06/12(日) 23:29:45.68ID:nFfW5LM6M そんなものがあったのか!?
けど代入元の型は文字列になってるけど数値を代入していいのか?
けど代入元の型は文字列になってるけど数値を代入していいのか?
478デフォルトの名無しさん (ワッチョイ f368-zkCy)
2022/06/12(日) 23:33:25.21ID:ImMFuzyy0 >>476
ありがとう!!!
気になって眠れないとこだった。俺の頭がおかしくなったのかと思ったわw
ステートメント、一度目を通しておいたほうがいいね
https://excel-ubara.com/EXCEL/EXCEL908.html
>>477
vbaで何をいっとるんじゃい
ありがとう!!!
気になって眠れないとこだった。俺の頭がおかしくなったのかと思ったわw
ステートメント、一度目を通しておいたほうがいいね
https://excel-ubara.com/EXCEL/EXCEL908.html
>>477
vbaで何をいっとるんじゃい
479デフォルトの名無しさん (ワッチョイ bf3d-VcWV)
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)なんてやってるのをみて驚いたわ。
どの言語もできるような気もするが。
出来ない言語なんかあったけ?
化石のような言語のCOBOLでもできる。
COBOLだと9型の変数があって、VBA風にかくと
Dim a as 99999
a = 123
でaを00123にしてくれる。
a=RIGHT("00000" & 123,5)なんてやってるのをみて驚いたわ。
480デフォルトの名無しさん (ワッチョイ 6310-JG4s)
2022/06/12(日) 23:56:26.34ID:as/ibVfq0 ちなみに、MidステートメントはLetステートメントと違ってヒープ領域の再確保を行わないようなので
めちゃくちゃいっぱい文字列を結合したり置き換えたりする文字列操作をMidステートメントで高速化できたりはする
色々注意しなきゃならんしめんどいけど
めちゃくちゃいっぱい文字列を結合したり置き換えたりする文字列操作をMidステートメントで高速化できたりはする
色々注意しなきゃならんしめんどいけど
481デフォルトの名無しさん (ラクッペペ MM7f-W/Na)
2022/06/13(月) 14:10:09.78ID:cuhQaR4kM mid("00000",5-len(a),len(a))=a
なんてやってるの?
なんてやってるの?
482デフォルトの名無しさん (スッップ Sd1f-/e9c)
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のようなコードがいいと思うけど
これがやりたい事なんだから
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のようなコードがいいと思うけど
483デフォルトの名無しさん (エアペラ SD07-TIMK)
2022/06/13(月) 18:10:47.94ID:S+tXl/uoD 自分なら
right("00000" & 123, 5)
って書く
right("00000" & 123, 5)
って書く
484デフォルトの名無しさん (ワッチョイ cfda-GGE9)
2022/06/13(月) 18:28:06.25ID:CiY+fWgN0 セルの書式設定に 0000# って書けばいいのに
485デフォルトの名無しさん (スッップ Sd1f-UWq1)
2022/06/13(月) 19:38:44.31ID:5YQd33j2d いやどうせVBAでやるならNumberFormatLocalでやろうよ
486デフォルトの名無しさん (ワッチョイ 835f-sOFp)
2022/06/13(月) 20:02:21.45ID:3bSnFxDm0 要件にもよるが正規表現とFormat()で。
487デフォルトの名無しさん (ワッチョイ bf3d-VcWV)
2022/06/13(月) 21:14:24.62ID:c4yOIzj40488デフォルトの名無しさん (ワッチョイ cfda-aoxg)
2022/06/13(月) 22:37:41.37ID:pISmU68J0 みんなのコードカッコいいわ
やっぱりコードはカッコ良くなきゃ舐められるわな
やっぱりコードはカッコ良くなきゃ舐められるわな
489デフォルトの名無しさん (ワッチョイ ff7c-a420)
2022/06/14(火) 01:08:48.71ID:GVYlqPTN0 >>488
他に見るやつがいないなら動きゃいいとか思ってしまう
他に見るやつがいないなら動きゃいいとか思ってしまう
490デフォルトの名無しさん (ワッチョイ cfda-aoxg)
2022/06/14(火) 01:18:48.91ID:MKKHJJii0 てか若者とお年を召された方のコードの書き方が明らかに違うのだが、古臭い目新しいとかあるのかな?
491デフォルトの名無しさん (ワッチョイ ff7c-a420)
2022/06/14(火) 02:02:23.05ID:GVYlqPTN0 今は可読性悪いのは駄目ってなってるけど逆に改行や変数名の長さすらケチってた時代もあった
んで言語が進化するにつれて書き方も変わっていった
今でも昔の方法で書けるっちゃ書けるけどそれが古臭いってことだと思う
んで言語が進化するにつれて書き方も変わっていった
今でも昔の方法で書けるっちゃ書けるけどそれが古臭いってことだと思う
492デフォルトの名無しさん (ワッチョイ cfda-aoxg)
2022/06/14(火) 02:07:02.10ID:MKKHJJii0 お年を召された方(60~70代)のコード見たら、やたら変数ばかり多かった印象が。
変数使わなくても普通に書けばいいじゃんて部分まで変数に入れていた。
変数使わなくても普通に書けばいいじゃんて部分まで変数に入れていた。
493デフォルトの名無しさん (ブーイモ MMff-GGE9)
2022/06/14(火) 02:33:52.97ID:TUO2NKc8M494デフォルトの名無しさん (エアペラ SD07-TIMK)
2022/06/14(火) 07:10:06.79ID:r7EVbuk4D >>492のコードはVBAに限らず可読性悪そう
495デフォルトの名無しさん (アウアウウー Sa67-IhGj)
2022/06/14(火) 07:54:24.65ID:7uTlYRrCa496デフォルトの名無しさん (スップ Sd1f-Qt8f)
2022/06/14(火) 08:25:15.24ID:bcp0w+/6d >名著「リーダブルコード」に「説明変数」という言葉が出てくる。
497デフォルトの名無しさん (ワッチョイ cfbb-m5pw)
2022/06/14(火) 08:35:10.08ID:T3k1EtCC0 マジックナンバーは避けようぜ
後で見返す時に(この4って何を意味してるんだ…?)ってなると効率落ちる
後で見返す時に(この4って何を意味してるんだ…?)ってなると効率落ちる
498デフォルトの名無しさん (ワッチョイ bf3d-VcWV)
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
こうしてみたんだがうまくいかない。
なにか手はある?
いま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)
でダメなんか
Left(a,7)
Right(a,11)
でダメなんか
500デフォルトの名無しさん (ブーイモ MM27-GGE9)
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
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
501デフォルトの名無しさん (ワッチョイ ff01-NwEC)
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
若干無理矢理だけどクラス使えば似たような事は出来る
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
502デフォルトの名無しさん (スッップ Sd1f-/e9c)
2022/06/14(火) 13:04:52.31ID:IIEda1opd503デフォルトの名無しさん (スッップ Sd1f-/e9c)
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
記憶があいまいだけど
長さの合計値が同じになる変数を持つ構造体を作ってそれを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
504デフォルトの名無しさん (ブーイモ MMff-GGE9)
2022/06/14(火) 13:57:57.06ID:yUQgc7GAM505デフォルトの名無しさん (スッップ Sd1f-/e9c)
2022/06/14(火) 14:36:41.07ID:IIEda1opd >>504
与えられたデータだけの回答だからね
与えられた情報以外の事をあーだこーだいう人いるけど
それはその時考えたらよくない?
そもそもそういう事を言い出したら
質問のできるできないはできないって回答になるわけだし
与えられたデータだけの回答だからね
与えられた情報以外の事をあーだこーだいう人いるけど
それはその時考えたらよくない?
そもそもそういう事を言い出したら
質問のできるできないはできないって回答になるわけだし
506デフォルトの名無しさん (ワッチョイ 732f-bM3h)
2022/06/14(火) 14:46:19.33ID:QIi9ICtD0 与えられたデータっていうか、前提条件がはっきりしないからなぁ
>郵便番号+電話番号ていう文字列がある
以外は試してみたっていうコードからの推測だしな
まあおれなら合体文字列のセッターと郵便番号、電話番号のゲッターのプロパティ持つクラス作るかなぁ
中身はLeftとMidでいいんじゃね
固定長で最速を目指すならLSetもありかもしれんが
構造体うんぬんより、固定長文字列がトラブルの予感を感じさせるんだよなぁ、いろんなところで
>郵便番号+電話番号ていう文字列がある
以外は試してみたっていうコードからの推測だしな
まあおれなら合体文字列のセッターと郵便番号、電話番号のゲッターのプロパティ持つクラス作るかなぁ
中身はLeftとMidでいいんじゃね
固定長で最速を目指すならLSetもありかもしれんが
構造体うんぬんより、固定長文字列がトラブルの予感を感じさせるんだよなぁ、いろんなところで
507デフォルトの名無しさん (アウアウウー Sa67-IhGj)
2022/06/14(火) 15:27:21.00ID:jJwMl27ba 固定長文字列って文字数で良いんだっけ?
全角でもおなじ?
全角でもおなじ?
508デフォルトの名無しさん (ワッチョイ 732f-bM3h)
2022/06/14(火) 17:23:15.55ID:QIi9ICtD0509デフォルトの名無しさん (ワッチョイ cfda-GGE9)
2022/06/14(火) 19:35:25.43ID:vdrsXIkl0 関数2つ作ればいいのにわざわざ構造体やクラスつくる意味あんのかな
処理速度を気にするのは自力で動くの作れるようになってからだぞ
処理速度を気にするのは自力で動くの作れるようになってからだぞ
510デフォルトの名無しさん (ワッチョイ 6310-JG4s)
2022/06/14(火) 20:24:08.87ID:sqy53zZK0 >>487
簡単にいうと、なんでもMidステートメントに置き換えれば速くなるってわけでもない(そういう使い方にはちょっと注意がいる)
あと固定長文字列はいかにも速そうだが実は可変長文字列よりパフォーマンスが落ちることが割とあって、これまた扱いに注意を要する
まずは自分の望む動作をするコードを完成させることに注力した方がいいんでないかな
(速度改善や利便性向上みたいなのはなんていうか、キリのない作業でもあるし)
簡単にいうと、なんでもMidステートメントに置き換えれば速くなるってわけでもない(そういう使い方にはちょっと注意がいる)
あと固定長文字列はいかにも速そうだが実は可変長文字列よりパフォーマンスが落ちることが割とあって、これまた扱いに注意を要する
まずは自分の望む動作をするコードを完成させることに注力した方がいいんでないかな
(速度改善や利便性向上みたいなのはなんていうか、キリのない作業でもあるし)
511デフォルトの名無しさん (エアペラ SD07-TIMK)
2022/06/15(水) 07:33:40.74ID:7lj8rf8tD512デフォルトの名無しさん (アウアウウー Sa67-IhGj)
2022/06/15(水) 10:47:02.71ID:EefWJAwfa 自力でやれるなら好きに組めば良いけど
それもできない初心者だからな
それもできない初心者だからな
513デフォルトの名無しさん (スプッッ Sd1f-/e9c)
2022/06/15(水) 11:15:30.59ID:WoPQ0lFMd こういうやり方があるよって回答だけすればあとは質問者がそれを選択するだけでいいのに
他人の回答にケチ付けるやつはなんなんだろうと思う
他人の回答にケチ付けるやつはなんなんだろうと思う
514デフォルトの名無しさん (ブーイモ MMff-GGE9)
2022/06/15(水) 11:50:46.53ID:RetoKdFBM >>513
質問の内容(仕様)が明確じゃない部分を好き勝手に解釈した結果
質問の内容(仕様)が明確じゃない部分を好き勝手に解釈した結果
515デフォルトの名無しさん (ワッチョイ f368-zkCy)
2022/06/15(水) 12:43:33.38ID:2pwDzYJj0 >>513>>514
単に性格悪いってだけ
単に性格悪いってだけ
516デフォルトの名無しさん (ワッチョイ 43cc-ffpc)
2022/06/15(水) 13:41:42.48ID:HRaMYgOd0 ユーザーフォームに毎回違う数のラベルを作った時に、それぞれのラベルでクリックイベントを作りたいのですが
ラベル数が変動するので作れません。
こういう場合、存在するどのラベルをクリックしたかを調べるにはどうすればいいですか?
ラベル数が変動するので作れません。
こういう場合、存在するどのラベルをクリックしたかを調べるにはどうすればいいですか?
517デフォルトの名無しさん (ワッチョイ f368-zkCy)
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
昔やろうとしたけど超しんどいよ
vb6にはコントロール配列って機能があってそれを使えばよかったけど、
vbaでなぜかなくなっているので絶望的にめんどくさい
他の方法を考えたほうがいい
どうしてもやるなら「vba コントロール配列」あたりで検索して頑張ってくれ。
https://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_100_040.html
518デフォルトの名無しさん (スフッ Sd1f-GGE9)
2022/06/15(水) 14:41:31.92ID:EFN5k3S5d >>516
ラベルは最大数で作っといて、必要な分だけVisibleで見せる
ラベルは最大数で作っといて、必要な分だけVisibleで見せる
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 空自機レーダー照射、音声データ公開 中国 [蚤の市★]
- 【熊本】園児に強制性交か 保育所勤務の男を逮捕「性的な欲望が我慢できなかった」警察は余罪を調べる [七波羅探題★]
- 日銀「歴史的」利上げ迫る 35年ぶりの年間上げ幅、0.5%の壁を突破 [蚤の市★]
- 堀江貴文、キャッシュレス非対応の店にモヤッ 『PayPay』立ち上げの人物にまさかの直談判「現金決済しかできないんだけど…」 [冬月記者★]
- 【サッカー】上田綺世の活躍は「一過性」 15戦18発も…オランダ英雄は懐疑的な姿勢「確信に至っていない」 [ゴアマガラ★]
- 【おこめ券】鈴木農相 米価維持の意図「一切ない」★3 [ぐれ★]
- 【悲惨】中国軍が自衛隊に「事前通告」し自衛隊も返答した音声が公開されてしまうwwwこれは高市チェックアウトゕ [597533159]
- X民「高市さん擬人化してみた。可愛すぎる」10万いいね [165981677]
- 中国の日本向けレアアースの輸出止まる、高市のせいで日本終了のお知らせ [931948549]
- 🏡
- 現役JKのお茶会スレ( ¨̮ )︎︎𖠚ᐝ180
- 韓国政府、高市早苗の「竹島領土」発言にブチギレwwwwwwwwwwwwwwww [834922174]
