!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑同じ内容を3行貼り付けること
ExcelのVBAに関する質問スレ
コード書き込みや作成依頼もOK
次スレは>>980が立てること
無理なら細かく安価指定
※前スレ
Excel VBA 質問スレ Part77
https://mevius.2ch.net/test/read.cgi/tech/1658009255/
Excel VBA 質問スレ Part78
https://mevius.2ch.net/test/read.cgi/tech/1667104996/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
Excel VBA 質問スレ Part79(ワッチョイあり)
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ aaa4-I2zm)
2023/01/28(土) 12:12:12.41ID:UjlIZ1Ov0118デフォルトの名無しさん (ワッチョイ 2302-3nnD)
2023/02/19(日) 16:40:27.54ID:E1njzG6f0 念のため、chatGTPはあてにならなかったです。
119デフォルトの名無しさん (ワッチョイ 4bda-BTrK)
2023/02/19(日) 17:24:19.98ID:ZehIwlnC0 >>117
Integerだからだろ
Integerだからだろ
120デフォルトの名無しさん (ワッチョイ 2302-3nnD)
2023/02/19(日) 17:30:57.52ID:E1njzG6f0 ありがとうございます。Longにしてもダメでした。
根本的に配列の扱いが間違っているような感じですが、
それがよくわかりません。
根本的に配列の扱いが間違っているような感じですが、
それがよくわかりません。
121デフォルトの名無しさん (ワッチョイ 1501-rVJW)
2023/02/19(日) 17:39:18.41ID:j3UrUaev0 >>120
init_id = Worksheets("Play").Range(Worksheets("Play").Cells(2, 1), Worksheets("Play").Cells(totalQuestions + 1, 1)).Value
と
del_id = Worksheets("arrData").Range(Worksheets("arrData").Cells(2, 2), Worksheets("arrData").Cells(pastQuestions + 1, 2)).Value
でinit_idとdel_idにセルの値を配列として代入しているけど、これは2次元配列として代入している
だからinit_id(i)という一次元配列は存在しない
init_id(1,1)とかinit_id(2,1)の二次元配列として存在している
よってinit_id(i)は存在しませんってエラーが出てる
ローカルウインドで確認するといい
init_id = Worksheets("Play").Range(Worksheets("Play").Cells(2, 1), Worksheets("Play").Cells(totalQuestions + 1, 1)).Value
と
del_id = Worksheets("arrData").Range(Worksheets("arrData").Cells(2, 2), Worksheets("arrData").Cells(pastQuestions + 1, 2)).Value
でinit_idとdel_idにセルの値を配列として代入しているけど、これは2次元配列として代入している
だからinit_id(i)という一次元配列は存在しない
init_id(1,1)とかinit_id(2,1)の二次元配列として存在している
よってinit_id(i)は存在しませんってエラーが出てる
ローカルウインドで確認するといい
122デフォルトの名無しさん (ワッチョイ 2302-3nnD)
2023/02/19(日) 17:44:28.85ID:E1njzG6f0 ありがとうございました。よくわかりました。
なんとか1次元の配列を作りたいと思います。
セルデータから簡単に配列つくれるということでこの作り方になったのですが。
列番号を1つにすれば1次になるかと浅はかでした。。
なんとか1次元の配列を作りたいと思います。
セルデータから簡単に配列つくれるということでこの作り方になったのですが。
列番号を1つにすれば1次になるかと浅はかでした。。
123デフォルトの名無しさん (スププ Sd43-mfId)
2023/02/19(日) 18:07:25.25ID:xzOvW7kvd 配列よりDictionaryの存在チェックで判定する方が簡単そうだけどなぁ
124デフォルトの名無しさん (ワッチョイ fd49-BTrK)
2023/02/19(日) 18:17:57.66ID:FtkTxk830 >>112
VBAならこんな感じか。
後、C列に6がないのは記入漏れ?
Sub C列に書く()
Dim i As Long, cnt As Long, dRange As Range
Set dRange = Range("B1:B3")
cnt = 1
For i = 1 To 9
If WorksheetFunction.CountIf(dRange, Cells(i, 1)) = 0 Then
Cells(cnt, 3) = Cells(i, 1)
cnt = cnt + 1
End If
Next i
End Sub
VBAならこんな感じか。
後、C列に6がないのは記入漏れ?
Sub C列に書く()
Dim i As Long, cnt As Long, dRange As Range
Set dRange = Range("B1:B3")
cnt = 1
For i = 1 To 9
If WorksheetFunction.CountIf(dRange, Cells(i, 1)) = 0 Then
Cells(cnt, 3) = Cells(i, 1)
cnt = cnt + 1
End If
Next i
End Sub
125デフォルトの名無しさん (ワッチョイ 2302-3nnD)
2023/02/19(日) 18:24:49.89ID:E1njzG6f0 >>124
ありがとうございます。やろうとしていたコードよりシンプルです。
ありがとうございます。やろうとしていたコードよりシンプルです。
126デフォルトの名無しさん (ワッチョイ 2302-3nnD)
2023/02/19(日) 18:28:42.83ID:E1njzG6f0 >>124でおしえていただいた方法で進めたいのですが。
これで、エラーがでたのはなぜでしょう?
Sub 次の問題()
Dim totalQuestions As Long, pastQuestions As Long, Nextnum As Long, n As Long
Dim init_id() As Variant, del_id() As Variant
totalQuestions = Worksheets("Play").Cells(Rows.Count, 1).End(xlUp).Row - 1
Randomize
Nextnum = Int(totalQuestions * Rnd + 1)
n = Worksheets("arrData").Cells(Rows.Count, "B").End(xlUp).Row + 1
Worksheets("arrData").Cells(n, "B") = Nextnum
pastQuestions = Worksheets("arrData").Cells(Rows.Count, 2).End(xlUp).Row - 1
Dim i As Integer
For i = 1 To totalQuestions
init_id(i) = Worksheets("Play").Cells(i+1, 1)
Next i
For i = 1 To pastQuestions
del_id(i) = Worksheets("Play").Cells(i+1, 1)
Next i
End Sub
これで、エラーがでたのはなぜでしょう?
Sub 次の問題()
Dim totalQuestions As Long, pastQuestions As Long, Nextnum As Long, n As Long
Dim init_id() As Variant, del_id() As Variant
totalQuestions = Worksheets("Play").Cells(Rows.Count, 1).End(xlUp).Row - 1
Randomize
Nextnum = Int(totalQuestions * Rnd + 1)
n = Worksheets("arrData").Cells(Rows.Count, "B").End(xlUp).Row + 1
Worksheets("arrData").Cells(n, "B") = Nextnum
pastQuestions = Worksheets("arrData").Cells(Rows.Count, 2).End(xlUp).Row - 1
Dim i As Integer
For i = 1 To totalQuestions
init_id(i) = Worksheets("Play").Cells(i+1, 1)
Next i
For i = 1 To pastQuestions
del_id(i) = Worksheets("Play").Cells(i+1, 1)
Next i
End Sub
127デフォルトの名無しさん (スップ Sd03-O7MM)
2023/02/19(日) 20:06:54.10ID:owAZbnPUd 春休みか?
128デフォルトの名無しさん (ワッチョイ 1501-UZZT)
2023/02/19(日) 20:22:10.83ID:j3UrUaev0 これ流石に釣りだろ
いつものキチガイ臭がすごいわ
いつものキチガイ臭がすごいわ
129デフォルトの名無しさん (ワッチョイ fd10-GGTC)
2023/02/20(月) 01:12:29.14ID:CLcJ/prP0 また荒らしか。
130デフォルトの名無しさん (ワッチョイ 615f-djih)
2023/02/25(土) 22:54:00.85ID:IaGdb0E30 VBA初心者です
退職済みの前任者が作ったマクロで多発してるエラー対応をしています
Dim 範囲 As Range
Set 範囲 = Worksheets(″Sheet1″).Range(″A1″).CurrentRegion
・変数に日本語を使うメリットとデメリット
・Range型の変数を使うメリットとデメリット
教えてもらえないでしょうか?
退職済みの前任者が作ったマクロで多発してるエラー対応をしています
Dim 範囲 As Range
Set 範囲 = Worksheets(″Sheet1″).Range(″A1″).CurrentRegion
・変数に日本語を使うメリットとデメリット
・Range型の変数を使うメリットとデメリット
教えてもらえないでしょうか?
131デフォルトの名無しさん (スップ Sdda-iutv)
2023/02/25(土) 23:47:26.72ID:tG3tii0/d >>130
お前のレベルで手を出すな
お前のレベルで手を出すな
132デフォルトの名無しさん (ワッチョイ 5a42-VM1o)
2023/02/25(土) 23:51:02.20ID:apv923pv0 聞いたこともない英単語だとかえってわからなくなるからいっそ日本語の方がいい時がある(語学力の問題)
133デフォルトの名無しさん (ワッチョイ b6da-W5vA)
2023/02/26(日) 00:31:12.73ID:/hhgnOlt0134デフォルトの名無しさん (ワッチョイ 8910-17xD)
2023/02/26(日) 05:08:45.75ID:eudL/KWJ0 昔は確かに日本語変数だと変な挙動起きたがな。
135デフォルトの名無しさん (オッペケ Sr75-WNy4)
2023/02/26(日) 10:08:54.14ID:B6f81u3Mr 日本語のメリット
人によっては視覚的に分かりやすい
デメリット
その度に切り替えボタンを押すのが面倒
後任者が分かりやすいように日本語にしといてくれたんだろう
人によっては視覚的に分かりやすい
デメリット
その度に切り替えボタンを押すのが面倒
後任者が分かりやすいように日本語にしといてくれたんだろう
136デフォルトの名無しさん (ワッチョイ b6da-aucd)
2023/02/26(日) 10:54:07.84ID:/hhgnOlt0 値1 と 値1 が混ざって変数宣言を省略してるとか
漢字の間違いや全角の空白が紛れてたこともあったな昔のことだが
漢字の間違いや全角の空白が紛れてたこともあったな昔のことだが
137デフォルトの名無しさん (ワッチョイ 76da-W5vA)
2023/02/26(日) 12:24:12.13ID:nvWXChWd0 ついこの間、ExcelのupdateでまたVBAが壊れたので
変数はもちろん、ワークシートから引っ張ってくるシート名や定義名も
日本語は止めた。
変数はもちろん、ワークシートから引っ張ってくるシート名や定義名も
日本語は止めた。
138デフォルトの名無しさん (ワッチョイ 9d5f-kDor)
2023/02/26(日) 12:27:06.36ID:pTLOSYzf0 Excelって非アクティブからクリックでアクティブにするとき、クリックしたセルが一発でアクティブにならんのな
前回操作時のセルがアクティブなる
デュアルモニターでマウス行ったり来たりしてExcel入力してるから面倒くさいったりゃありゃしない
スプレッドシートは問題ないんだけどさ
スレチだったらすまん
前回操作時のセルがアクティブなる
デュアルモニターでマウス行ったり来たりしてExcel入力してるから面倒くさいったりゃありゃしない
スプレッドシートは問題ないんだけどさ
スレチだったらすまん
139デフォルトの名無しさん (ワッチョイ ee8c-trCw)
2023/02/26(日) 13:44:06.75ID:2K5zmO2D0 非アクティブのウィンドウにマウスをもっていったら自動的にアクティブになる
無料のユーティリティソフトを入れたらいいんじゃね
無料のユーティリティソフトを入れたらいいんじゃね
140デフォルトの名無しさん (ワッチョイ 9d5f-kDor)
2023/02/26(日) 14:26:11.23ID:pTLOSYzf0141デフォルトの名無しさん (ワッチョイ da79-Arif)
2023/02/26(日) 20:33:51.43ID:gahU4Yv80 効率を語るならまずマウス操作を止めるべきだな
142デフォルトの名無しさん (オッペケ Sr75-WNy4)
2023/02/26(日) 21:30:42.93ID:IOZzQyLPr 流石にエクセルのセルをクリックで操作は意味不明だろ
そこに文句言うヤツとか誰も想定してないと思うわ
そこに文句言うヤツとか誰も想定してないと思うわ
143デフォルトの名無しさん (ワッチョイ 9d5f-kDor)
2023/02/26(日) 21:41:09.74ID:pTLOSYzf0 いや、デュアルモニターの隣りの画面でFXのチャートの値幅をマウス操作で計測し、その値を隣の画面のExcelに打ち込んでデータ分析してるんだが……
一回入力するたびに隣の画面にポインタ移動するから、そのたびExcelが非アクティブになるんだよ
なんか俺めんどくさいことしてるのかな……?
まあ、これ以上はスレチになるからここで終わりにしておく
すまんかった
一回入力するたびに隣の画面にポインタ移動するから、そのたびExcelが非アクティブになるんだよ
なんか俺めんどくさいことしてるのかな……?
まあ、これ以上はスレチになるからここで終わりにしておく
すまんかった
144デフォルトの名無しさん (ワッチョイ 5a02-ZYAP)
2023/02/26(日) 22:07:07.64ID:6/0OFtJ50 これじゃダメかい?
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Sh.Selection.Active
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Sh.Selection.Active
End Sub
145デフォルトの名無しさん (ワッチョイ 9d5f-kDor)
2023/02/26(日) 23:34:16.33ID:pTLOSYzf0146デフォルトの名無しさん (オッペケ Sr75-WNy4)
2023/02/27(月) 01:12:31.98ID:ykCEF1qar ん?よくわからんけど、vba起動したら別のソフトがアクティブになるってこと?
別のソフトをアクティブにする前にに次に使いたいセルをSelectかActivateにしとけばいいんでない?
そもそもセルに手打ちってのもよくわからんけど
別のソフトをアクティブにする前にに次に使いたいセルをSelectかActivateにしとけばいいんでない?
そもそもセルに手打ちってのもよくわからんけど
147デフォルトの名無しさん (ワッチョイ b12f-1yY1)
2023/02/27(月) 20:02:31.12ID:Akgqa2X30 >>138
エクセルのアクティブ化とアクティブセルの変更を1クリックでやりたいって話だろ
デュアルモニターとか関係ない
Activate系のイベントでマウスカーソルの位置拾ってセル位置判定してアクティブ化するマクロを書けばできる気はする
マウスカーソルの位置ひらうのがVBAだけで出来なかった気がするから面倒だな
エクセルのアクティブ化とアクティブセルの変更を1クリックでやりたいって話だろ
デュアルモニターとか関係ない
Activate系のイベントでマウスカーソルの位置拾ってセル位置判定してアクティブ化するマクロを書けばできる気はする
マウスカーソルの位置ひらうのがVBAだけで出来なかった気がするから面倒だな
148デフォルトの名無しさん (スプッッ Sdfa-XBvd)
2023/02/27(月) 23:06:45.60ID:oBF60fgLd そもそもFX側のプログラムから
記録用CSVなりに追記する形で出力にすればいいのでは
目的と手段を混同しているように見える
記録用CSVなりに追記する形で出力にすればいいのでは
目的と手段を混同しているように見える
149デフォルトの名無しさん (ワッチョイ 9d5f-051A)
2023/02/28(火) 10:02:05.35ID:7Eonwnxx0 FX側はきっと既成のソフトウェアで手を入れられられず出力機能もないのだろう。
でなければマウスで幅を計測なんて、Excel抜きでも面倒な事をしてないと思う。
FX側ソフトウェアに要望を出す、別のものに変更する、または特注するのは有りだと思う。
でなければマウスで幅を計測なんて、Excel抜きでも面倒な事をしてないと思う。
FX側ソフトウェアに要望を出す、別のものに変更する、または特注するのは有りだと思う。
150デフォルトの名無しさん (オッペケ Sr75-Dmqe)
2023/02/28(火) 12:23:19.77ID:nICQ8lOdr B行に日付 C行以降は各項目
2023/4/3 パン 150
2023/4/16 米 500
2023/5/20 サラダ 230
︙
2023/8/13 牛乳 150
などと表があるとこから、VBAでinputboxで何月を取り出したいですか?など質問をして、その月だけを別シートに抽出したいのですが…findを使う?
どうすればいいのか教えて頂きたいです。
2023/4/3 パン 150
2023/4/16 米 500
2023/5/20 サラダ 230
︙
2023/8/13 牛乳 150
などと表があるとこから、VBAでinputboxで何月を取り出したいですか?など質問をして、その月だけを別シートに抽出したいのですが…findを使う?
どうすればいいのか教えて頂きたいです。
151デフォルトの名無しさん (スプッッ Sdda-XBvd)
2023/02/28(火) 12:42:03.99ID:O8AX5fZ9d152デフォルトの名無しさん (オッペケ Sr75-WNy4)
2023/02/28(火) 15:14:30.22ID:kIDllaukr
VBAでやるよりピボットテーブルの方が・・・
154150 (オッペケ Sr75-Dmqe)
2023/02/28(火) 15:57:37.64ID:nICQ8lOdr AutoFilterやCurrentRegion.copyで何とかなりました。
すみませんでした。
すみませんでした。
155デフォルトの名無しさん (スプッッ Sdda-XBvd)
2023/02/28(火) 17:32:55.16ID:O8AX5fZ9d もしかして:For
まあ他人と共用するマクロなんだろうし
その他人の中にマクロのことを聞けるやつもいないんだろうから
手作業をマクロで書いただけみたいなので正解かもしれんな
まあ他人と共用するマクロなんだろうし
その他人の中にマクロのことを聞けるやつもいないんだろうから
手作業をマクロで書いただけみたいなので正解かもしれんな
156デフォルトの名無しさん (ワッチョイ b6da-W5vA)
2023/03/02(木) 03:38:03.48ID:wSjrNglr0 他人と共用するマクロは、共用している他人がマクロを編集できるので
自分がどう作っても他人が勝手に修正するだろうし・・・
自分がどう作っても他人が勝手に修正するだろうし・・・
157デフォルトの名無しさん (ワッチョイ 8910-17xD)
2023/03/02(木) 06:52:29.36ID:J6gUWTNI0158デフォルトの名無しさん (ワッチョイ b6da-W5vA)
2023/03/02(木) 14:19:36.36ID:wSjrNglr0 マクロを作った人間の責任とサーバー上のファイルを管理している管理者
業務としてマクロを使う作業を指示している上司に変更内容を確認してもらう必要があるよね
業務としてマクロを使う作業を指示している上司に変更内容を確認してもらう必要があるよね
159デフォルトの名無しさん (スプッッ Sd73-Qp8N)
2023/03/04(土) 13:39:41.40ID:hC7IXlBmd160デフォルトの名無しさん (ワッチョイ 7b66-QeO8)
2023/03/05(日) 14:08:33.99ID:SCRVkcxh0 Public Sub aiueo()
Dim Ary(2) As Variant
Ary(0) = 10
Ary(1) = "文字列"
Ary(2) = CDate("2021/2/2")
Dim test As Variant
test = Ary
Call aiueo2(test)
Call aiueo3(Ary())
End Sub
Public Sub aiueo2(ByRef Ary As Variant)
MsgBox TypeName(Ary)
End Sub
Public Sub aiueo3(ByRef Ary() As Variant)
MsgBox TypeName(Ary())
End Sub
関数への配列をどう渡すかで悩んでいます。
配列として渡すのか、Variant型のスカラー変数にして渡すのか。
VBAのVariant変数は配列さえも入るスカラー変数だと認識しています。
なので、配列そのものを入れてるだけで、Variant型の配列変数とは少し違うと思っていました。
しかし上記の結果は同じでした。そうなってくると
どっちでもいいということなのでしょうか?
もう一つ気付いたのはaiueo3はByVal渡しが出来ないけど、aiueo2ではByVal渡しが出来るので、
大元の配列の中身をいじらないで済むという違いがわかりました。
他に違いはありますか?
Dim Ary(2) As Variant
Ary(0) = 10
Ary(1) = "文字列"
Ary(2) = CDate("2021/2/2")
Dim test As Variant
test = Ary
Call aiueo2(test)
Call aiueo3(Ary())
End Sub
Public Sub aiueo2(ByRef Ary As Variant)
MsgBox TypeName(Ary)
End Sub
Public Sub aiueo3(ByRef Ary() As Variant)
MsgBox TypeName(Ary())
End Sub
関数への配列をどう渡すかで悩んでいます。
配列として渡すのか、Variant型のスカラー変数にして渡すのか。
VBAのVariant変数は配列さえも入るスカラー変数だと認識しています。
なので、配列そのものを入れてるだけで、Variant型の配列変数とは少し違うと思っていました。
しかし上記の結果は同じでした。そうなってくると
どっちでもいいということなのでしょうか?
もう一つ気付いたのはaiueo3はByVal渡しが出来ないけど、aiueo2ではByVal渡しが出来るので、
大元の配列の中身をいじらないで済むという違いがわかりました。
他に違いはありますか?
161デフォルトの名無しさん (ワッチョイ 1379-rvSK)
2023/03/05(日) 15:00:07.80ID:RB9OOifa0 >>160
Variantの配列は結局Variantだから下のように配列指定の括弧を取って関数宣言すれば値渡しもできるよ
Public Sub aiueo3(ByVal Ary As Variant)
関数引数の宣言で配列を受けるように書いてしまうと参照渡ししかできなくなるってだけ
Variantの配列は結局Variantだから下のように配列指定の括弧を取って関数宣言すれば値渡しもできるよ
Public Sub aiueo3(ByVal Ary As Variant)
関数引数の宣言で配列を受けるように書いてしまうと参照渡ししかできなくなるってだけ
162デフォルトの名無しさん (ワッチョイ 0bda-Qpn1)
2023/03/05(日) 19:01:06.89ID:ePQGVH9T0 >>160
そんなサンプルばっかり作ってないでちゃんと役に立つもの作ればいいのに
そんなサンプルばっかり作ってないでちゃんと役に立つもの作ればいいのに
163160 (ワッチョイ 7b66-QeO8)
2023/03/05(日) 19:19:12.03ID:SCRVkcxh0 >>161
ありがとうごございました。
スカラーで受けるか配列で受けるかにこだわっていました。
あれからもう一つ気付けたのは
Public Sub Sample(Byref Ary() as Class1)
Public Sub Sample(Byref Ary as Class1)
この時に大きな違いが出ました。前者はAry(i).と書くだけでClass1のプロパティメソッド一覧がサジェストしてくれますが、
後者だとVBE的には配列と認識してないのでサジェストしてくれません。
これを決定打として前者の書き方に統一しようと思います。
>>162
8割出来てたソフトをクラスを導入して書き直したら拡張しやすいコードに生まれ変わると信じてトライ中です。
月に数日しか触る時間が取れなくてちっとも進んでないです。
久しぶりに触ると自分が書いたコードさえ複雑すぎて読めないです。
ありがとうごございました。
スカラーで受けるか配列で受けるかにこだわっていました。
あれからもう一つ気付けたのは
Public Sub Sample(Byref Ary() as Class1)
Public Sub Sample(Byref Ary as Class1)
この時に大きな違いが出ました。前者はAry(i).と書くだけでClass1のプロパティメソッド一覧がサジェストしてくれますが、
後者だとVBE的には配列と認識してないのでサジェストしてくれません。
これを決定打として前者の書き方に統一しようと思います。
>>162
8割出来てたソフトをクラスを導入して書き直したら拡張しやすいコードに生まれ変わると信じてトライ中です。
月に数日しか触る時間が取れなくてちっとも進んでないです。
久しぶりに触ると自分が書いたコードさえ複雑すぎて読めないです。
164デフォルトの名無しさん (アウアウウー Sa1d-uRGO)
2023/03/05(日) 22:22:28.42ID:dhvwtz5Oa 長くなれば長くなるほど自分のコードってイミフに見えるよね。特に3ヶ月経てば。
165デフォルトの名無しさん (ワッチョイ 112f-3zFX)
2023/03/06(月) 00:54:11.13ID:ai8Q1Y+e0 なにをしてるかしらんけど、クラスを配列にして関数に渡してる段階で
ちょっと設計見直したほうが良いと思うぞ
ちょっと設計見直したほうが良いと思うぞ
166デフォルトの名無しさん (ワッチョイ 4110-uRGO)
2023/03/06(月) 00:59:15.55ID:1WgjQ7Bk0 なぜそういったコードが産まれるか?
前任者がそういったやり方をしていたから。
前任者がそういったやり方をしていたから。
167160 (ワッチョイ 7b66-QeO8)
2023/03/06(月) 01:52:26.46ID:PqTDPu/H0 >>165
そうなのですか?
クラスを配列にしているというよりは、配列の中にクラスのインスタンスが入ってるという事なのですが。
例えばA組には生徒が100人います
生徒の遺伝子情報を持つ精子がそれぞれ1億匹います
しかもそれが毎日吐き出されます。
もちろん日別にそのインスタンスは微妙に違います。
まさにそれが配列の中にクラスのインスタンスがある状態かと思ってました。
とても理にかなった行為に思えます。
配列の中にクラスのインスタンスを入れる事は。
クラスはあくまでも階層図なのではないでしょうか。
配列を横の広がりとするなら、クラスは入れ子をする事で深さを表すと思い込んでいます。
5次元配列とかイメージも出来なくてわからないのですが、クラスの入れ子で5層を作るのは案外わかりやすいです。
そうなのですか?
クラスを配列にしているというよりは、配列の中にクラスのインスタンスが入ってるという事なのですが。
例えばA組には生徒が100人います
生徒の遺伝子情報を持つ精子がそれぞれ1億匹います
しかもそれが毎日吐き出されます。
もちろん日別にそのインスタンスは微妙に違います。
まさにそれが配列の中にクラスのインスタンスがある状態かと思ってました。
とても理にかなった行為に思えます。
配列の中にクラスのインスタンスを入れる事は。
クラスはあくまでも階層図なのではないでしょうか。
配列を横の広がりとするなら、クラスは入れ子をする事で深さを表すと思い込んでいます。
5次元配列とかイメージも出来なくてわからないのですが、クラスの入れ子で5層を作るのは案外わかりやすいです。
168デフォルトの名無しさん (ラクッペペ MMeb-UQad)
2023/03/06(月) 03:53:47.03ID:GSPsPwm3M クラスの配列なら横への広がりのイメージだな
クラスの深さなら継承の概念が必要
本格的なオブジェクト指向言語なら普通に使われるけどなんちゃってオブジェクト指向のVBAでは記述できない
クラスの深さなら継承の概念が必要
本格的なオブジェクト指向言語なら普通に使われるけどなんちゃってオブジェクト指向のVBAでは記述できない
169デフォルトの名無しさん (ワッチョイ 7b19-kCZp)
2023/03/06(月) 07:22:39.83ID:AsR8H3/e0 クラス使うと一挙に視野が広がるよ
ついでを言うと配列の代わりに
コレクションやディクショナリを
使うことも視野に入れるといいと思うよ
ついでを言うと配列の代わりに
コレクションやディクショナリを
使うことも視野に入れるといいと思うよ
170デフォルトの名無しさん (ワッチョイ 0159-neWz)
2023/03/06(月) 12:27:06.93ID:b2hOsO6/0 VBAもオブジェクト指向できるんか
171デフォルトの名無しさん (ラクッペペ MMeb-UQad)
2023/03/06(月) 12:41:06.98ID:xFg+nzlgM プロパティ、メソッドなどの概念はオブジェクト指向からの由来
ただし本格的なクラスベースでもプロトタイプベースでもない独自体系の(中途半端な)オブジェクト指向
ただし本格的なクラスベースでもプロトタイプベースでもない独自体系の(中途半端な)オブジェクト指向
172デフォルトの名無しさん (アウアウエー Sae3-4fLd)
2023/03/06(月) 13:36:46.14ID:diWxUEyJa あえて言えば
フォーム指向だな
フォーム指向だな
173デフォルトの名無しさん (ラクッペペ MMeb-UQad)
2023/03/06(月) 14:45:16.86ID:9+J+ARGqM 敢えて言うならフォーム指向というよりコンポーネント指向
excel(Application)、book、worksheetなどすべてのオブジェクトはCOMコンポーネント
フォームもCOMコンポーネントの中のひとつ
excel(Application)、book、worksheetなどすべてのオブジェクトはCOMコンポーネント
フォームもCOMコンポーネントの中のひとつ
174デフォルトの名無しさん (ラクッペペ MMeb-O198)
2023/03/06(月) 14:57:08.93ID:qrIfb0I6M175デフォルトの名無しさん (ワッチョイ 112f-3zFX)
2023/03/06(月) 15:12:57.72ID:ai8Q1Y+e0176デフォルトの名無しさん (ワッチョイ 79e5-O198)
2023/03/06(月) 15:22:06.82ID:g0HnCWe20 リストやマップだって内部では配列使ってるでしょ
177デフォルトの名無しさん (アウアウエー Sae3-4fLd)
2023/03/06(月) 16:30:36.14ID:diWxUEyJa VBAは糞だから廃止しても良いけど
代替がC#じゃなくてPythonになりかけたのは笑う
代替がC#じゃなくてPythonになりかけたのは笑う
178デフォルトの名無しさん (ワッチョイ 4110-uRGO)
2023/03/06(月) 18:31:47.09ID:1WgjQ7Bk0 そういえば結局MSはVBAを完全に廃止はしないんだっけ??
179デフォルトの名無しさん (ワッチョイ fbda-VwsU)
2023/03/06(月) 18:36:58.90ID:dmixHrui0 廃止はされないだろうけど棲み分けされる方向性にある
Office スクリプトと VBA マクロの違い
https://learn.microsoft.com/ja-jp/office/dev/scripts/resources/vba-differences
Office スクリプトと VBA マクロの違い
https://learn.microsoft.com/ja-jp/office/dev/scripts/resources/vba-differences
180デフォルトの名無しさん (ワッチョイ 7b19-kCZp)
2023/03/06(月) 18:42:11.32ID:AsR8H3/e0 VBAのクラスは中途半端と言えばまぁそうだけど
VB.Net、おいてはC#とかをやる際の
練習には・・・いや、ちょっと厳しいか
でもObject指向言語いきなり入ると
継承ばっかに目が行って
移譲が疎かになったりするから
まぁいいんじゃないかな
VB.Net、おいてはC#とかをやる際の
練習には・・・いや、ちょっと厳しいか
でもObject指向言語いきなり入ると
継承ばっかに目が行って
移譲が疎かになったりするから
まぁいいんじゃないかな
181デフォルトの名無しさん (ワッチョイ 4110-uRGO)
2023/03/06(月) 21:16:37.56ID:1WgjQ7Bk0 やっぱ昔ながらのVBAがいちばんしっくりくるわ。
182デフォルトの名無しさん (ワッチョイ 91f0-zdzo)
2023/03/07(火) 21:48:06.79ID:3iqfWDhi0 やっぱ昔ながらのBBAがいちばんしっくりくるよね
183デフォルトの名無しさん (ワッチョイ 4110-uRGO)
2023/03/07(火) 23:24:56.52ID:Rx98WF270 いや、BBAは55までが限界だわ。
184デフォルトの名無しさん (ワッチョイ 0bda-Qpn1)
2023/03/09(木) 18:56:56.85ID:P+HJFtzc0 ところでBBAの手前の年齢なら何て呼ぶ?
185デフォルトの名無しさん (ワッチョイ 4110-uRGO)
2023/03/10(金) 03:06:29.10ID:iWPdLzMM0 >>184
おばさま
おばさま
186デフォルトの名無しさん (ワッチョイ 0bda-Qpn1)
2023/03/10(金) 12:22:39.19ID:bedhQt/D0 ちなみにお前らは おじさんやおっさん って呼ばれてもおかしくない年齢だよな?
187デフォルトの名無しさん (ブーイモ MM75-QeO8)
2023/03/10(金) 13:34:04.07ID:p0hGObdpM ExcelとVBAを使って商品の在庫管理をしようと考えています。
1つの商品の販売数は概ね1〜10程度に収まっていますが、たまにそれを超える数が出る事があります。
入力を簡単にするため10個以下のときはドロップダウンリストから選択し、それ以上の時は直接入力で
対応しようと思ったのですが、コンボボックスでは直接入力した値を取得できません。
直接入力とドロップダウンの両方で値を取得出来る方法はありませんか?
1つの商品の販売数は概ね1〜10程度に収まっていますが、たまにそれを超える数が出る事があります。
入力を簡単にするため10個以下のときはドロップダウンリストから選択し、それ以上の時は直接入力で
対応しようと思ったのですが、コンボボックスでは直接入力した値を取得できません。
直接入力とドロップダウンの両方で値を取得出来る方法はありませんか?
188デフォルトの名無しさん (ワッチョイ 41da-W5Lg)
2023/03/10(金) 16:23:53.92ID:fVzcNxhh0 フォームコントロールのコンボボックスだとプロパティに無いから出来ない
もし、セルの[データの入力規則]でもいいなら、エラーメッセージタブの □ 無効なデータが入力・・・
のチェックを外せば、リスト外の文字列(数値含む)も入れられる
もし、セルの[データの入力規則]でもいいなら、エラーメッセージタブの □ 無効なデータが入力・・・
のチェックを外せば、リスト外の文字列(数値含む)も入れられる
189デフォルトの名無しさん (スップ Sd73-20ys)
2023/03/10(金) 16:24:00.66ID:vz26ACYYd そんなもん使い難いだけだわ
UIを良く考えよう
UIを良く考えよう
190デフォルトの名無しさん (ワッチョイ 1342-hz0h)
2023/03/10(金) 16:26:19.41ID:uJ3azY/w0 正直1桁ならコンボボックスより直接入力のほうが効率いいと思うが
191デフォルトの名無しさん (ワッチョイ 41da-W5Lg)
2023/03/10(金) 16:56:09.67ID:fVzcNxhh0 日付も商品もマウスで選択するようなUIなら理解できる
マウスから手を放したくない みたいな
マウスから手を放したくない みたいな
192デフォルトの名無しさん (ラクッペペ MMeb-UQad)
2023/03/10(金) 17:10:02.40ID:Q4TOUEdVM >>187
自分なら基本テキストボックスで直接入力
ただマウスで操作したい要望に対してはボックス横にスピンボタンを追加することで対処する
初期値を1、増減分も1にしておけば1桁程度の値ならコンボボックスと大して変わらないと思う
自分なら基本テキストボックスで直接入力
ただマウスで操作したい要望に対してはボックス横にスピンボタンを追加することで対処する
初期値を1、増減分も1にしておけば1桁程度の値ならコンボボックスと大して変わらないと思う
193デフォルトの名無しさん (ワッチョイ f93a-O198)
2023/03/10(金) 19:08:43.64ID:q/TVliTR0 回答:無理、諦めろ。で満場一致
194デフォルトの名無しさん (ワッチョイ 4110-uRGO)
2023/03/10(金) 20:38:33.64ID:iWPdLzMM0 回答2:何でそんな事やりたいのだろう…
195187 (ワッチョイ 8b10-vuQE)
2023/03/10(金) 23:47:02.61ID:Qa3px4vn0 今時PCが殆ど使えない、新しい事覚えようとしないオバさんに使わせるのでなるべくキーボード入力をしないよう、パッと見で簡単に見えるように作りたいのです。
本来ならこのオバさんクビにして新しい子雇うのが早いと思うのですが…
ありがとうございました。もう一度UI考え直してみます。
本来ならこのオバさんクビにして新しい子雇うのが早いと思うのですが…
ありがとうございました。もう一度UI考え直してみます。
196デフォルトの名無しさん (ワッチョイ f959-pIdI)
2023/03/11(土) 00:19:36.43ID:Khcebysn0 数字くらい入力できるだろう
197デフォルトの名無しさん (スップ Sd7a-P/R7)
2023/03/11(土) 00:27:12.35ID:dLGlL2PJd 質問者も頭が悪い
わからない人になぜ標準と異なるインターフェースを使わせようとするのか
こういう人が現場に混乱をもたらす
わからない人になぜ標準と異なるインターフェースを使わせようとするのか
こういう人が現場に混乱をもたらす
198デフォルトの名無しさん (ワッチョイ dd01-ba3S)
2023/03/11(土) 02:08:47.98ID:WLmR0Ocq0 わざわざ個数をドロップダウンリストから選ぶとか面倒くさすぎるだろ
規則入力で制限して直接入力させろよ
規則入力で制限して直接入力させろよ
199デフォルトの名無しさん (ワッチョイ 1910-pn7P)
2023/03/11(土) 04:45:31.59ID:ZWvVNp1O0 回答3:何でそんな事やらしてるのだろうか、
200デフォルトの名無しさん (ワッチョイ 19da-mIEw)
2023/03/11(土) 12:35:58.60ID:QVD3K1L30 いや、昨今のWebアプリ(というかWeb入力)画面は、そういうの多く成ってるぞ
和暦、年、月、日、数量なんかもそのたんびドロップダウンしてスクロールしてクリック
一月一日生まれならスクロール不要だけど、十二月三十一日生まれだと毎回面倒臭い とか
おぢさんおばさんのUIと「新しい人」向けのUIも変わって来るんだろう、たぶん
社会に出た時にそういうUIが当たり前 なんてぇ連中にとっては「何で?」の疑問符も湧かないんだろ
タッチパネルUIがメインに成ってくと、やむを得ないとかなのか知らんけど(工夫が足りないだけ?)
和暦、年、月、日、数量なんかもそのたんびドロップダウンしてスクロールしてクリック
一月一日生まれならスクロール不要だけど、十二月三十一日生まれだと毎回面倒臭い とか
おぢさんおばさんのUIと「新しい人」向けのUIも変わって来るんだろう、たぶん
社会に出た時にそういうUIが当たり前 なんてぇ連中にとっては「何で?」の疑問符も湧かないんだろ
タッチパネルUIがメインに成ってくと、やむを得ないとかなのか知らんけど(工夫が足りないだけ?)
201デフォルトの名無しさん (ワッチョイ 7a79-EKUa)
2023/03/11(土) 13:08:52.71ID:M3BsWLaP0 左にラジオボタン用意して
●10以下 [ ドロップダウンで数を選択 ]
○直接入力 [ テキストボックス直接入力 ]
みたいにしたらどうかな。
直接入力したければできるようにどれが最適かわからなければ手段を複数開放しとけば許されるかも
●10以下 [ ドロップダウンで数を選択 ]
○直接入力 [ テキストボックス直接入力 ]
みたいにしたらどうかな。
直接入力したければできるようにどれが最適かわからなければ手段を複数開放しとけば許されるかも
202デフォルトの名無しさん (ワッチョイ 19da-mIEw)
2023/03/11(土) 13:20:16.65ID:QVD3K1L30 そういう小手先のお節介機能が、後々鬱陶しくなって属人化と揶揄されて忌避されてく元
シンプルイズベストに徹してみるのも、使い続けるためには必要 なのかも
シンプルイズベストに徹してみるのも、使い続けるためには必要 なのかも
203デフォルトの名無しさん (ワッチョイ c12f-lsaJ)
2023/03/11(土) 14:59:28.59ID:ifuXB3L30204デフォルトの名無しさん (ワッチョイ c12f-lsaJ)
2023/03/11(土) 15:12:26.79ID:ifuXB3L30 >>187-188
ちょっと気になって試したが
Private Sub UserForm_Initialize()
Dim i
For i = 0 To 10
ComboBox1.AddItem (i)
Next
End Sub
Private Sub CommandButton1_Click()
MsgBox ComboBox1.Value
End Sub
普通にできるじゃねえかよ
ちょっと気になって試したが
Private Sub UserForm_Initialize()
Dim i
For i = 0 To 10
ComboBox1.AddItem (i)
Next
End Sub
Private Sub CommandButton1_Click()
MsgBox ComboBox1.Value
End Sub
普通にできるじゃねえかよ
205デフォルトの名無しさん (ワッチョイ 1910-pn7P)
2023/03/11(土) 20:57:24.16ID:ZWvVNp1O0 あらまw
なんだったんだここ2~3日のやりとりはw
なんだったんだここ2~3日のやりとりはw
206デフォルトの名無しさん (ワッチョイ 16da-JIpj)
2023/03/12(日) 11:03:12.50ID:cLh0uqXM0 初心者がよく確認しないで先走っただけのこと
207デフォルトの名無しさん (テテンテンテン MMee-Cjjx)
2023/03/14(火) 22:17:45.06ID:XoNyGxquM ttps://my.au.com/cmn/WCV009001/WCE009001.hc
のようなサイトにおいて、ボタンのid属性などが不明の場合、
どのようにすれば
objIE.document.getElementById(“nav-search-submit-text”).Click
のようにクリック処理が記述できるのでしょうか?
のようなサイトにおいて、ボタンのid属性などが不明の場合、
どのようにすれば
objIE.document.getElementById(“nav-search-submit-text”).Click
のようにクリック処理が記述できるのでしょうか?
208デフォルトの名無しさん (ワッチョイ 953a-QBms)
2023/03/15(水) 00:41:25.72ID:1KS7hC690 他のgetElementなんちゃらを使えばいいんでねーの?
209デフォルトの名無しさん (ワッチョイ a510-tUwl)
2023/03/15(水) 01:44:42.30ID:gRjLR93x0210デフォルトの名無しさん (テテンテンテン MMee-Cjjx)
2023/03/15(水) 19:59:06.05ID:kKwjf9a5M >>208,209
ありがとうございます。
ありがとうございます。
211デフォルトの名無しさん (ワッチョイ 138f-DNU4)
2023/03/22(水) 19:26:33.26ID:K2J+yUPS0 VBAをやらざるを得なくなってしまい、半月ほど初心者向けサイトをざっと見したんだけど、復習しながら練習するのにいいサイトとかないですかね??YouTubeとかでもいいです。
212デフォルトの名無しさん (アウアウウー Sa95-XfdO)
2023/03/22(水) 20:16:54.25ID:imBU3GyRa 教えてもらうくせに上から目線でサイト探しているの?
213デフォルトの名無しさん (ワッチョイ d910-KPRk)
2023/03/22(水) 20:27:03.12ID:dusedFZ60 え?どこが上から目線?
全然普通の態度だと思うが。
全然普通の態度だと思うが。
214デフォルトの名無しさん (ワッチョイ 1342-nBdZ)
2023/03/22(水) 20:35:07.68ID:7ng/morp0 できないと言う勇気
215デフォルトの名無しさん (ワッチョイ 1379-1FFK)
2023/03/22(水) 21:02:59.43ID:jPt3JN/N0 VBA やりたい事でググれば大抵出てくるOffice田中のサイトでいいんじゃないの
216デフォルトの名無しさん (オッペケ Sr9d-QeQu)
2023/03/22(水) 21:57:37.59ID:PR1CLsM8r 俺も別段上から目線だとは思わんな
vba100本ノックでググればいいよ
vba100本ノックでググればいいよ
217デフォルトの名無しさん (ワッチョイ 138f-DNU4)
2023/03/22(水) 23:19:15.71ID:K2J+yUPS0■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 [蚤の市★]
- 「もうキモくてキモくて…」29歳女性が語る“おぢアタック”の実態。「俺ならイケるかも」年下女性を狙う勘違い中年男性に共通点が★4 [Hitzeschleier★]
- JA全農が「新おこめ券」…来年9月末の有効期限を新設、必要経費のみ上乗せ [蚤の市★]
- 【おこめ券】鈴木憲和農相 小泉前農相の備蓄米放出を“反省”「備蓄の円滑な運営を図ってまいります」 [Hitzeschleier★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- 自民・麻生太郎副総裁 石破政権の1年は「どよーん」 高市政権発足で「何となく明るくなった」「世の中のことが決まり動いている」★2 [Hitzeschleier★]
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★7
- トランプ、G7に代わるcore 5を発表 [805596214]
- 【悲報】新米、全く売れなくて倉庫が満杯になってしまうwwwwwwwwwwwwwwwwwwww [802034645]
- 【悲報】麻生太郎さん、オムツをしていた。晋さん…ここにいたんだね… [731544683]
- 【悲報】日本共産党、ツイッター速報にブチギレ法的措置WWWWWWWWWWWWWWWWWWWWWWWWWWWW [935793931]
- 木曜日のんなっしょい❗(・o・🍬)仕放題スレ🏡
