!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付けるナリ
ExcelのVBAに関する質問スレナリ
コード書き込みや作成依頼もOKナリ
※前スレ
Excel VBA 質問スレ Part69
https://mevius.5ch.net/test/read.cgi/tech/1607786543/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
Excel VBA 質問スレ Part70
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ b6da-6NWR)
2021/03/18(木) 22:08:43.71ID:jtngtgXU0116デフォルトの名無しさん (ワッチョイ b501-Yokr)
2021/04/04(日) 04:07:16.17ID:hsI5tKvB0 別ブックから別ブックへ値を持ってきたいときって、コピーか配列使うしかないですか?
コピーペーストは処理重そうでスマートっぽくないし、配列は張り付ける範囲をちゃんと指定しなきゃダメなのがめんどくさそうなんですけど、いい方法ないですか?
コピーペーストは処理重そうでスマートっぽくないし、配列は張り付ける範囲をちゃんと指定しなきゃダメなのがめんどくさそうなんですけど、いい方法ないですか?
117デフォルトの名無しさん (アウアウウー Sae9-IEtB)
2021/04/04(日) 06:20:04.03ID:5jDGrLPha コピーでいいやん
118デフォルトの名無しさん (テテンテンテン MM4b-9RaQ)
2021/04/04(日) 13:08:15.45ID:X/c7fPAEM119デフォルトの名無しさん (ワッチョイ 1b09-vnSj)
2021/04/04(日) 13:44:02.06ID:7SFCjwlv0 >>115
ありがとうございます!うまくいきました
すみませんがListViewについてもう一つ教えていただけないでしょうか
MultiSelect=Trueのときの選択項目数をラベルに表示させたいと思っています
リストが選択されるたびに表示を更新したいのですが、なにかいい方法はないでしょうか
ItemClickイベントで項目数を数えようとしましたが、選択数分イベントが発生するため項目数が増えると重くなってしまいます
ListBoxのChangeイベントのように複数選択しても一度しか発生しないイベントがあるといいのですが、無さそうなので困っています
ありがとうございます!うまくいきました
すみませんがListViewについてもう一つ教えていただけないでしょうか
MultiSelect=Trueのときの選択項目数をラベルに表示させたいと思っています
リストが選択されるたびに表示を更新したいのですが、なにかいい方法はないでしょうか
ItemClickイベントで項目数を数えようとしましたが、選択数分イベントが発生するため項目数が増えると重くなってしまいます
ListBoxのChangeイベントのように複数選択しても一度しか発生しないイベントがあるといいのですが、無さそうなので困っています
120デフォルトの名無しさん (ワッチョイ e33d-K4o7)
2021/04/04(日) 17:46:13.14ID:JgvM3WMx0 >>116
コピー元もコピー先もシートを変数に入れておけば変数シート.セルで指定は少しスマートにできる
コピー元もコピー先もシートを変数に入れておけば変数シート.セルで指定は少しスマートにできる
121デフォルトの名無しさん (ワッチョイ b501-Yokr)
2021/04/04(日) 18:49:59.93ID:hsI5tKvB0122デフォルトの名無しさん (ワッチョイ e336-Yl66)
2021/04/05(月) 04:34:52.29ID:3N8BM4zS0 セルには0.9って入力してあるのに
VBAのcellsでそれを取得すると1と認識されるんですが
勝手に小数点以下を切り捨てないようにするにはどうしたらいいですか?
VBAのcellsでそれを取得すると1と認識されるんですが
勝手に小数点以下を切り捨てないようにするにはどうしたらいいですか?
123デフォルトの名無しさん (ワッチョイ 23ad-q0SB)
2021/04/05(月) 07:04:34.80ID:FxhyQ6l10 Currency型の変数に代入する
124デフォルトの名無しさん (ワッチョイ 234f-bYzF)
2021/04/05(月) 07:43:12.07ID:CnxjloBy0 >>123
そだね
ただCurrency型は小数点4桁までしか扱えないから
上記みたいに小数点1桁だったらいいけど
5桁以上扱ったり掛けたり割ったりする場合はDoubleの方がいいかな
ただ、Double型の場合は
浮動小数点あつかいでIEEE754規格だから
変に丸められちゃうことがあるんでかけ算割り算行う時は
一度整数にして計算してやる必要があるけど
まぁ使い所でどの型使うのか分けて使うのがいいかもね
そだね
ただCurrency型は小数点4桁までしか扱えないから
上記みたいに小数点1桁だったらいいけど
5桁以上扱ったり掛けたり割ったりする場合はDoubleの方がいいかな
ただ、Double型の場合は
浮動小数点あつかいでIEEE754規格だから
変に丸められちゃうことがあるんでかけ算割り算行う時は
一度整数にして計算してやる必要があるけど
まぁ使い所でどの型使うのか分けて使うのがいいかもね
125デフォルトの名無しさん (ワッチョイ e336-Yl66)
2021/04/05(月) 12:36:23.48ID:3N8BM4zS0126デフォルトの名無しさん (ワッチョイ cbda-0pr0)
2021/04/05(月) 17:42:39.68ID:GNHugBRe0 >>122
0.9の小数点以下を切り捨てたら 0 じゃね
0.9の小数点以下を切り捨てたら 0 じゃね
127デフォルトの名無しさん (アウアウウー Sae9-K4o7)
2021/04/05(月) 18:04:06.91ID:34gLfvfqa 別にInteger使う理由もないしlongにしちゃえばとも思う
128デフォルトの名無しさん (ワッチョイ cbda-Yl66)
2021/04/05(月) 19:09:20.57ID:IFZcDQ1J0 >>126
たしかに
たしかに
129デフォルトの名無しさん (アウアウウー Sae9-IEtB)
2021/04/06(火) 06:08:10.23ID:KMOOpCjWa 型を指定すると遅くなるから
できるだけ指定なしがよいよ
マクロらしさを生かそう
できるだけ指定なしがよいよ
マクロらしさを生かそう
130デフォルトの名無しさん (ワッチョイ e33d-K4o7)
2021/04/06(火) 07:02:52.46ID:Au4GybQm0 >>129
メンテが遅くなるからだめ
メンテが遅くなるからだめ
131デフォルトの名無しさん (ワッチョイ 234f-bYzF)
2021/04/06(火) 10:21:14.29ID:e+L9SfjT0 >>129
おいおいw
いくら質問スレで初心者だらけだからって
適当なことを教えてはいけない
指定しなかった型には自動的にVariant型が割り当てられて
本来Integer型だったりLong型で済むものに莫大なメモリを割り当てるし当然処理速度も遅くなる
VBAは比較的型の扱いが雑でも何とかなる方ではあるが
頭にプログラムの頭にOption Explicit付けといて型は明示的に設定する癖をつけておいた方がいい
おいおいw
いくら質問スレで初心者だらけだからって
適当なことを教えてはいけない
指定しなかった型には自動的にVariant型が割り当てられて
本来Integer型だったりLong型で済むものに莫大なメモリを割り当てるし当然処理速度も遅くなる
VBAは比較的型の扱いが雑でも何とかなる方ではあるが
頭にプログラムの頭にOption Explicit付けといて型は明示的に設定する癖をつけておいた方がいい
132デフォルトの名無しさん (ワッチョイ 1dcc-kjVL)
2021/04/06(火) 11:09:39.71ID:jDDsYkyr0 複数の多次元配列をプロシージャに参照渡しするときはどう書けばいいですか
こう書くとスルーされます。
Sub Smple()
Dim ara(2,4) As Variant, arb(85,3) As Variant, arc As Variant)
・・・略
Call SheetCreate(ara(),arb(),arc())
End Sub
Sub SheetCreate(ByRef ara As Variant, ByRef arb As Variant, ByRef As arc As Variant)
・・・略
End Sub
こう書くとスルーされます。
Sub Smple()
Dim ara(2,4) As Variant, arb(85,3) As Variant, arc As Variant)
・・・略
Call SheetCreate(ara(),arb(),arc())
End Sub
Sub SheetCreate(ByRef ara As Variant, ByRef arb As Variant, ByRef As arc As Variant)
・・・略
End Sub
133デフォルトの名無しさん (ワッチョイ 234f-bYzF)
2021/04/06(火) 12:45:54.77ID:e+L9SfjT0 >>132
うん、まあ
引数の型をVariantにしているからでしょうなぁ
何故Variantにすると値渡しになるのかは分からんけど
ちゃんと変数宣言のところで
StringとかIntegerとかの配列型宣言をして
呼び出される関数の引数にも
それに見合った型にすれば参照渡しされるんじゃない?
試してみて
うん、まあ
引数の型をVariantにしているからでしょうなぁ
何故Variantにすると値渡しになるのかは分からんけど
ちゃんと変数宣言のところで
StringとかIntegerとかの配列型宣言をして
呼び出される関数の引数にも
それに見合った型にすれば参照渡しされるんじゃない?
試してみて
134132 (ワッチョイ 1dcc-kjVL)
2021/04/06(火) 14:36:15.96ID:jDDsYkyr0 >133
知らなかったです。ありがとうございます
知らなかったです。ありがとうございます
135デフォルトの名無しさん (テテンテンテン MM4b-/elG)
2021/04/06(火) 14:39:05.93ID:7PISA/BhM >>132
普通に
Sub Smple()
Dim ara(2,4) As Variant, arb(85,3) As Variant, arc As Variant
・・・略
Call SheetCreate(ara, arb, arc)
End Sub
Sub SheetCreate(ara As Variant, arb As Variant, arc As Variant)
・・・略
End Sub
って書けばいいだけだと思う
普通に
Sub Smple()
Dim ara(2,4) As Variant, arb(85,3) As Variant, arc As Variant
・・・略
Call SheetCreate(ara, arb, arc)
End Sub
Sub SheetCreate(ara As Variant, arb As Variant, arc As Variant)
・・・略
End Sub
って書けばいいだけだと思う
136132 (ワッチョイ 1dcc-kjVL)
2021/04/06(火) 19:30:17.02ID:jDDsYkyr0 >>135
最初はそれでやっていたのですが、同じくスルーされてました
このサブプロシージャ内でブレークポイントを設定しても止まらなかったので、サブプロシージャがスルーされていると思っていたのですが、
サブプロシージャを外しても止まらず、別のファイルに書き換えたら動くようになりました。
最初はそれでやっていたのですが、同じくスルーされてました
このサブプロシージャ内でブレークポイントを設定しても止まらなかったので、サブプロシージャがスルーされていると思っていたのですが、
サブプロシージャを外しても止まらず、別のファイルに書き換えたら動くようになりました。
137デフォルトの名無しさん (スップ Sd43-0pr0)
2021/04/06(火) 19:51:59.72ID:JmeclF78d ブレークポイントで止まらないのはおかしい
根本的に別のとこで間違ってる
根本的に別のとこで間違ってる
138デフォルトの名無しさん (アウアウウー Sae9-IEtB)
2021/04/06(火) 20:36:50.07ID:DMwNdxSba うむ、おかしい
139デフォルトの名無しさん (ワッチョイ 5d49-kSr3)
2021/04/06(火) 22:23:14.18ID:kxv5hjcy0 Sub Smple()
Dim ara(2, 4) As Variant, arb(85, 3) As Variant, arc As Variant
Call SheetCreate(ara, arb, arc)
End Sub
Sub SheetCreate(ByRef ara() As Variant, ByRef arb() As Variant, ByRef arc As Variant)
End Sub
Dim ara(2, 4) As Variant, arb(85, 3) As Variant, arc As Variant
Call SheetCreate(ara, arb, arc)
End Sub
Sub SheetCreate(ByRef ara() As Variant, ByRef arb() As Variant, ByRef arc As Variant)
End Sub
140デフォルトの名無しさん (ワッチョイ e5da-jIYQ)
2021/04/07(水) 19:30:33.27ID:aMJgToSe0 全部省略すれば勝手にByRefだと思ってけど違うの?
SheetCreate ara, arb, arc
Sub SheetCreate(ara, arb, arc)
End Sub
SheetCreate ara, arb, arc
Sub SheetCreate(ara, arb, arc)
End Sub
141デフォルトの名無しさん (JP 0H79-0pr0)
2021/04/07(水) 20:03:43.34ID:rHsSD320H142デフォルトの名無しさん (ワッチョイ cbda-0pr0)
2021/04/07(水) 20:42:25.04ID:Vn8Hoh2Q0 配列・オブ・カリビアン
143デフォルトの名無しさん (ワッチョイ 234f-bYzF)
2021/04/07(水) 20:47:54.61ID:nkaFkhSP0 >>141
不思議なんだよねー
配列変数だとByrefにしてもVariantで渡すと値渡しになることがある
よしんばVariantが値型だとしても値型の参照渡しで渡るのは参照渡しになるはずなのに何で?
不思議なんだよねー
配列変数だとByrefにしてもVariantで渡すと値渡しになることがある
よしんばVariantが値型だとしても値型の参照渡しで渡るのは参照渡しになるはずなのに何で?
144デフォルトの名無しさん (ワッチョイ 234f-bYzF)
2021/04/08(木) 15:04:36.48ID:6DaO6dJm0 色々しらべたよ
まず、VBAやってる人はByValとByRefくらいしか気にしない人多いけど、
そもそも変数には参照型と値型というのがあって値型は値そのものが変数に入っているけど
参照型というのは実体が入っているんじゃなくて実体の入っている場所の情報が入っているんだよ。
オブジェクトの類が参照型で、StringやIntegerなんかが値型。
参照渡し、値渡しとこの参照型、値型という組み合わせで何が渡るか決まるんだけど
参照型の参照渡し;
引数の入っているアドレス(場所)を見に行って、その引数の中に入っているアドレスに入っているものを見に行くから、
内容を変更すると関数で呼ぶ前のものも変更されるよ
値型の参照渡し;
引数の入っているアドレスをコピーしてそのアドレスが指してるところの値を見に行くから、
内容を変更すると関数で呼ぶ前のものも変更されるよ
参照型の値渡し:
引数の入ってる値をコピーするけど、その引数の中には実体の入ってるアドレスが入ってて、そっちを見に行くから
内容を変更すると関数で呼ぶ前のものも変更されるよ
値型の値渡し
引数の入ってる値をコピーして、そのコピーした値の内容も値そのものが入っているから
内容を変更しても関数を呼ぶ前のものは変更されないよ
まずこれが大前提ね
まず、VBAやってる人はByValとByRefくらいしか気にしない人多いけど、
そもそも変数には参照型と値型というのがあって値型は値そのものが変数に入っているけど
参照型というのは実体が入っているんじゃなくて実体の入っている場所の情報が入っているんだよ。
オブジェクトの類が参照型で、StringやIntegerなんかが値型。
参照渡し、値渡しとこの参照型、値型という組み合わせで何が渡るか決まるんだけど
参照型の参照渡し;
引数の入っているアドレス(場所)を見に行って、その引数の中に入っているアドレスに入っているものを見に行くから、
内容を変更すると関数で呼ぶ前のものも変更されるよ
値型の参照渡し;
引数の入っているアドレスをコピーしてそのアドレスが指してるところの値を見に行くから、
内容を変更すると関数で呼ぶ前のものも変更されるよ
参照型の値渡し:
引数の入ってる値をコピーするけど、その引数の中には実体の入ってるアドレスが入ってて、そっちを見に行くから
内容を変更すると関数で呼ぶ前のものも変更されるよ
値型の値渡し
引数の入ってる値をコピーして、そのコピーした値の内容も値そのものが入っているから
内容を変更しても関数を呼ぶ前のものは変更されないよ
まずこれが大前提ね
145デフォルトの名無しさん (ワッチョイ 234f-bYzF)
2021/04/08(木) 15:20:56.67ID:6DaO6dJm0 本題に入るね。
配列変数でもその辺は基本変わらないけど、
何故か値渡しにしようとすると構文エラーになるんだ
そんなときは呼び出し先の引数をVariant型に変えてあげればいいって話だけど、
Variant型にしても参照型のものは参照が見られるから内容を変えれば関数を呼び出す前の内容も変わるんだよね。
variant型の配列を作って値型のものと参照型のものを違う要素に入れてそれを引き数に値渡しで設定してあげると
参照型のものを入れた部分は変更すると関数呼び出す前のものにも反映され、値型の部分は変更が反映されない。
思ったよりお利口さんだったよ。
結論を言うと
何で配列でキチンと型設定して値渡ししようとすると構文エラーで落ちるんじゃマイクロソフトのボケが!!
と言うところに落ち着いたよ
配列変数でもその辺は基本変わらないけど、
何故か値渡しにしようとすると構文エラーになるんだ
そんなときは呼び出し先の引数をVariant型に変えてあげればいいって話だけど、
Variant型にしても参照型のものは参照が見られるから内容を変えれば関数を呼び出す前の内容も変わるんだよね。
variant型の配列を作って値型のものと参照型のものを違う要素に入れてそれを引き数に値渡しで設定してあげると
参照型のものを入れた部分は変更すると関数呼び出す前のものにも反映され、値型の部分は変更が反映されない。
思ったよりお利口さんだったよ。
結論を言うと
何で配列でキチンと型設定して値渡ししようとすると構文エラーで落ちるんじゃマイクロソフトのボケが!!
と言うところに落ち着いたよ
146デフォルトの名無しさん (ブーイモ MMa9-q0SB)
2021/04/08(木) 17:10:39.89ID:OX80XKzVM うろ覚えで申し訳ないんだけど、引数をByVal TestAry() As Longとかにすれば値渡し出来なかったっけ?
147デフォルトの名無しさん (ワッチョイ 234f-bYzF)
2021/04/08(木) 17:27:48.87ID:6DaO6dJm0148デフォルトの名無しさん (ワッチョイ 8564-tABC)
2021/04/08(木) 17:47:34.27ID:vZ3ddDF70 質問場所間違ってたら言ってください
iPhone用Excelで仕事の日報を書いてるのですが
時間を書き込んで→を押して数字を書き込むと
前のセルに書き込んだ数字
例えば8:00と書き込んで→を、次に16:00と記入しようと1を押すと8:00:001ってなってしまいます
これってならなくする方法ありますか?
iPhone用Excelで仕事の日報を書いてるのですが
時間を書き込んで→を押して数字を書き込むと
前のセルに書き込んだ数字
例えば8:00と書き込んで→を、次に16:00と記入しようと1を押すと8:00:001ってなってしまいます
これってならなくする方法ありますか?
149デフォルトの名無しさん (ワッチョイ 558e-tazQ)
2021/04/08(木) 18:07:25.00ID:BiHFumMw0 >>148
死ね
死ね
150デフォルトの名無しさん (ワッチョイ 234f-bYzF)
2021/04/08(木) 18:07:51.70ID:6DaO6dJm0 >>148
iPhoneは持ってるんだけどPC側しか365のアカウント持ってないんだ。ごめんね。
だけどググってみたら書式設定は出来るみたいだから数字にしたいセルの部分をそう書式設定すればいいんじゃないかな?
あと、一応EXCEL関連のスレはここに有ったけど
Excel友の会
https://egg.5ch.net/test/read.cgi/software/1223040168/
何か過疎ってるどころか最後の書き込みが去年の10月だから機能していないね。ここのスレでEXCELのこと聞くのは
ここのスレの住人がみんなOKすれば大丈夫だと思うけど
今まで随分色んなことあったから難しいかも知れないよ。
iPhoneは持ってるんだけどPC側しか365のアカウント持ってないんだ。ごめんね。
だけどググってみたら書式設定は出来るみたいだから数字にしたいセルの部分をそう書式設定すればいいんじゃないかな?
あと、一応EXCEL関連のスレはここに有ったけど
Excel友の会
https://egg.5ch.net/test/read.cgi/software/1223040168/
何か過疎ってるどころか最後の書き込みが去年の10月だから機能していないね。ここのスレでEXCELのこと聞くのは
ここのスレの住人がみんなOKすれば大丈夫だと思うけど
今まで随分色んなことあったから難しいかも知れないよ。
151デフォルトの名無しさん (ワッチョイ 4bda-7Bir)
2021/04/08(木) 19:22:03.89ID:wZLPNhcm0 こんなマクロの使い方もあるようで。
https://anond.hatelabo.jp/20210408000218
https://anond.hatelabo.jp/20210408000218
152デフォルトの名無しさん (ワントンキン MMeb-vnSj)
2021/04/08(木) 20:16:35.28ID:JmFnD0edM 要素数の限界ってどれくらいなの?
多次元配列で一次元あたり数千とかにしたらメモリ不足のエラーになった
多次元配列で一次元あたり数千とかにしたらメモリ不足のエラーになった
153デフォルトの名無しさん (ワッチョイ 0d10-9EPs)
2021/04/08(木) 20:37:06.14ID:eomKGQCU0 多次元はめっちゃメモリ食うからなるべくやるなと言われている
154デフォルトの名無しさん (ワッチョイ 2368-8vo5)
2021/04/08(木) 22:20:43.27ID:xay8Megr0 タスクマネージャでも眺めながら色々試してみては
物理メモリだけじゃないだろうけど、なんぼか目安にはなるだろう
物理メモリだけじゃないだろうけど、なんぼか目安にはなるだろう
155デフォルトの名無しさん (JP 0H79-0pr0)
2021/04/08(木) 23:36:50.07ID:zGFXp+zdH 64bit版なら配列変数1個あたり4GBまで
32bit版は2GBまで
つまりデータの型によって要素数の上限は違う
32bit版は2GBまで
つまりデータの型によって要素数の上限は違う
156デフォルトの名無しさん (ワッチョイ 9b4f-RQse)
2021/04/09(金) 00:36:31.60ID:J+L5UjPE0157デフォルトの名無しさん (ワッチョイ e24f-9aNE)
2021/04/09(金) 17:10:54.57ID:v0s3XxNT0 >>156
そうだね
あくまで俺の経験則だけど
2次元から3次元にしたとき何でも一挙に難しくなる気がする
元々簡単な作りのものしか扱わないならいいけど
VBAではないけど以前東大生が3次元で配列の制御を行うロジックを作って
自分でもよく分からなくなってしまったというのを見たことがあるし
ゲーム作るときも画面表示するだけで
三角関数はもとより行列やアフィン変換とか
理解してないとまともに出来ない
メモリ食うのも理由のひとつかも知れないけど
3次元には出来れば手を出さない方がいいと思う
そうだね
あくまで俺の経験則だけど
2次元から3次元にしたとき何でも一挙に難しくなる気がする
元々簡単な作りのものしか扱わないならいいけど
VBAではないけど以前東大生が3次元で配列の制御を行うロジックを作って
自分でもよく分からなくなってしまったというのを見たことがあるし
ゲーム作るときも画面表示するだけで
三角関数はもとより行列やアフィン変換とか
理解してないとまともに出来ない
メモリ食うのも理由のひとつかも知れないけど
3次元には出来れば手を出さない方がいいと思う
158デフォルトの名無しさん (ワントンキン MMfe-RQse)
2021/04/09(金) 19:26:47.90ID:o5ukQupNM >>157
ちなみに今回使おうとしたのは3次元配列なんだけど、3次元配列にした理由は同じような2次元配列に順番にアクセスしたかったから
こういう場合は2次元配列を複数用意すればいいのかな?
3次元配列にした方がスマートに記述できると思ったんだけど
ちなみに今回使おうとしたのは3次元配列なんだけど、3次元配列にした理由は同じような2次元配列に順番にアクセスしたかったから
こういう場合は2次元配列を複数用意すればいいのかな?
3次元配列にした方がスマートに記述できると思ったんだけど
159デフォルトの名無しさん (ワッチョイ 6268-/CMm)
2021/04/09(金) 19:41:20.17ID:H0DC02Cp0 行、列、シートで、3次元
配列で重くなるならセルに入れてしまうという手も
配列で重くなるならセルに入れてしまうという手も
160デフォルトの名無しさん (ワッチョイ e24f-9aNE)
2021/04/09(金) 21:04:50.47ID:v0s3XxNT0 >>159
シートを余計に食うけど場合によってはそれもひとつの有効手段だよね。
あまり見せたくなければVerryHiddenとかにしてしまえばいい訳だし。
>>158
使い処によると思うよ。使い方が単純でスピードが速い方がいいならそれでいいと思う。
ただ、これはあくまで「俺が」なんだけど実はあまり配列が好きじゃないんだ。
だからと言うわけでもないんだけどある程度大きなプログラムを組むときは
配列を使うこともあるにはあるけど、2次元配列の代わりにプロパティだけのエンティティクラス作って
それをコレクションやディクショナリに詰め込んで使ったり、
レコードセットを使ったりすることもあるし、
3次元では上記したような仕組みのものやそういった仕組みを持つクラスを作って、
それをまたコレクションやディクショナリにいれたりするように作ったりとか。
何でこんなまどろっこしいことするのかと言えば、要素と言うか項目やレコードの追加や
データ抽出が楽なんだよね。
シート足していいと言うなら先程の>>159の人の案も有りだと思う。
削除系は使えないけどシートにはその気になればSQLが投げられるから
抽出や計算、変換、加工とかする必要があるならかなり楽に作れることもあるからね。
シートを余計に食うけど場合によってはそれもひとつの有効手段だよね。
あまり見せたくなければVerryHiddenとかにしてしまえばいい訳だし。
>>158
使い処によると思うよ。使い方が単純でスピードが速い方がいいならそれでいいと思う。
ただ、これはあくまで「俺が」なんだけど実はあまり配列が好きじゃないんだ。
だからと言うわけでもないんだけどある程度大きなプログラムを組むときは
配列を使うこともあるにはあるけど、2次元配列の代わりにプロパティだけのエンティティクラス作って
それをコレクションやディクショナリに詰め込んで使ったり、
レコードセットを使ったりすることもあるし、
3次元では上記したような仕組みのものやそういった仕組みを持つクラスを作って、
それをまたコレクションやディクショナリにいれたりするように作ったりとか。
何でこんなまどろっこしいことするのかと言えば、要素と言うか項目やレコードの追加や
データ抽出が楽なんだよね。
シート足していいと言うなら先程の>>159の人の案も有りだと思う。
削除系は使えないけどシートにはその気になればSQLが投げられるから
抽出や計算、変換、加工とかする必要があるならかなり楽に作れることもあるからね。
161デフォルトの名無しさん (ワッチョイ 6268-/CMm)
2021/04/09(金) 21:29:44.17ID:H0DC02Cp0 三次元配列は単純に頭がしんどい
三次元空間の様にそれぞれの次元が同じ重みを持っているなら仕方ないけど、
それ意外なら行列の二次元+シート一次元、のように分けたほうがスッキリすると思う
三次元空間の様にそれぞれの次元が同じ重みを持っているなら仕方ないけど、
それ意外なら行列の二次元+シート一次元、のように分けたほうがスッキリすると思う
162デフォルトの名無しさん (アウアウウー Sabb-siCT)
2021/04/09(金) 21:34:45.69ID:VGCoQhdKa 省略したら値渡しでしよ
再帰かけるときには値渡しにしないと、いろいろ都合がある
再帰かけるときには値渡しにしないと、いろいろ都合がある
163デフォルトの名無しさん (アウアウウー Sabb-siCT)
2021/04/09(金) 21:37:45.95ID:VGCoQhdKa >>161
賛成、エクセルのシート使うよね
賛成、エクセルのシート使うよね
164デフォルトの名無しさん (ワッチョイ e24f-9aNE)
2021/04/09(金) 21:50:51.12ID:v0s3XxNT0 >>162
これな
実はVB.Netの場合は省略するとByVal(値渡し)で
旧VB6やVBAの場合は省略するとByRef(参照渡し)で
両方やってる人はよく間違えるんだよね。
再起の場合は確かにどれを反映させてどれを反映させないか結構大事になるけど、
まぁ基本デフォルト使わないで明示的に書くだろうからあまり気にしなくてもいいかもね。
これな
実はVB.Netの場合は省略するとByVal(値渡し)で
旧VB6やVBAの場合は省略するとByRef(参照渡し)で
両方やってる人はよく間違えるんだよね。
再起の場合は確かにどれを反映させてどれを反映させないか結構大事になるけど、
まぁ基本デフォルト使わないで明示的に書くだろうからあまり気にしなくてもいいかもね。
165デフォルトの名無しさん (ワッチョイ 9b4f-RQse)
2021/04/10(土) 00:28:07.23ID:xAikY8XJ0 みんなありがとう
>>160
VBAは基本の参考書を読んで一通り分かったつもり
でもクラスは上級者すぎて分からないや
一応自作のオブジェクトという理解でいる
色々案を考えてくれてありがとう、もう少し勉強してからそのあたりも試してみる
>>160
VBAは基本の参考書を読んで一通り分かったつもり
でもクラスは上級者すぎて分からないや
一応自作のオブジェクトという理解でいる
色々案を考えてくれてありがとう、もう少し勉強してからそのあたりも試してみる
166デフォルトの名無しさん (アウアウウー Sabb-siCT)
2021/04/10(土) 06:57:57.98ID:+Fv9eRvVa シートに書き出すととピポットにできるから
ピポットなら何重にも次元が増やせるし
処理もはやい
ピポットとvbaを組み合わせると、
けっこうはやい
ピポットなら何重にも次元が増やせるし
処理もはやい
ピポットとvbaを組み合わせると、
けっこうはやい
167デフォルトの名無しさん (ワッチョイ e24f-9aNE)
2021/04/10(土) 08:02:59.36ID:GLiDRYw80 >>165
頑張って
クラスはObject指向言語だと必須だけどVBAでは無理して知ってる必要もないから気が向いたときに覚えればいいと思うよ
とは言ってもクラス自体はそんなに難しいものじゃないんだけどね。よく、ひとつの纏まった機能を他のモジュールに書くよね。
あれを標準モジュールの変わりにクラスモジュールに書けばクラスの出来上がり。
後は他のオブジェクト使うときと同じようにNewして変数に入れて、変数名.メソッド名、変数名.プロパティ名とか書けば使えるよ。
どっちかっていうと考え方と使いどころに慣れるまでがちょっと大変かもね。
それ以上の多態性とかデザインパターンとかの知識を身につけるころには他の言語やってるだろうから
今そんなに深く考えることもないと思うよ。
頑張って
クラスはObject指向言語だと必須だけどVBAでは無理して知ってる必要もないから気が向いたときに覚えればいいと思うよ
とは言ってもクラス自体はそんなに難しいものじゃないんだけどね。よく、ひとつの纏まった機能を他のモジュールに書くよね。
あれを標準モジュールの変わりにクラスモジュールに書けばクラスの出来上がり。
後は他のオブジェクト使うときと同じようにNewして変数に入れて、変数名.メソッド名、変数名.プロパティ名とか書けば使えるよ。
どっちかっていうと考え方と使いどころに慣れるまでがちょっと大変かもね。
それ以上の多態性とかデザインパターンとかの知識を身につけるころには他の言語やってるだろうから
今そんなに深く考えることもないと思うよ。
168デフォルトの名無しさん (テテンテンテン MM8e-VoLZ)
2021/04/10(土) 09:30:59.12ID:ASUPMck3M169デフォルトの名無しさん (アウアウウー Sabb-siCT)
2021/04/10(土) 10:08:24.05ID:+Fv9eRvVa エクセルというクラスを使いこなせば
ビジネスなら十分
エクセル以上のobject作るのは無理だから
なんつてセカンドオニオンでした
ビジネスなら十分
エクセル以上のobject作るのは無理だから
なんつてセカンドオニオンでした
170デフォルトの名無しさん (スププ Sd02-yrn4)
2021/04/10(土) 15:51:59.07ID:duTza7EGd 自分もクラスで挫折して今はユーザー定義型で幸せです
171デフォルトの名無しさん (ササクッテロラ Sp5f-9aNE)
2021/04/10(土) 16:02:42.86ID:4ha6UGTxp 自分もユーザー定義にした途端お金が入って彼女が出来ました。今ではとっても幸せです。
172デフォルトの名無しさん (ワッチョイ 7fda-9Ojr)
2021/04/10(土) 17:05:30.13ID:eY7Q/L5k0 そうかい
173デフォルトの名無しさん (ワッチョイ cb5f-VxJ9)
2021/04/10(土) 20:22:47.19ID:mgDf3XRg0 >>170
プロパティとかコンストラクタとかあとは鯛焼きの型とかいきなり説明しだすから分かりにくいんだよな
プロパティとかコンストラクタとかあとは鯛焼きの型とかいきなり説明しだすから分かりにくいんだよな
174デフォルトの名無しさん (ワッチョイ cb5f-VxJ9)
2021/04/10(土) 20:23:09.87ID:mgDf3XRg0 最初はクラス内の変数と関数だけでプロシージャ内のコードがこれだけ簡潔書けるようになります程度でいいのに
175デフォルトの名無しさん (ワッチョイ 6268-/CMm)
2021/04/10(土) 20:31:08.56ID:u4vdYafN0 EXCELvbaで、クラスってどういう時に使うのでしょうか
ゲームのように細かいオブジェクトが多数ある状態なら分かりますが、
表の状態になったデータだと、今ひとつピント来ないです
社員classや顧客classを作るのでしょうか
ゲームのように細かいオブジェクトが多数ある状態なら分かりますが、
表の状態になったデータだと、今ひとつピント来ないです
社員classや顧客classを作るのでしょうか
176デフォルトの名無しさん (ブーイモ MM3e-8zEc)
2021/04/10(土) 20:42:21.31ID:r9QO1mE4M 無理に使う必要は無い。
「使わなくては!」と閃く状況が来るときまで。
「使わなくては!」と閃く状況が来るときまで。
177デフォルトの名無しさん (ワッチョイ d7da-mgCR)
2021/04/10(土) 21:10:26.00ID:2jN52YXT0178デフォルトの名無しさん (ワッチョイ e24f-9aNE)
2021/04/10(土) 21:22:16.81ID:GLiDRYw80 >>175
どう使うかを決めるのも自分。
だからクラスそのものより
考え方や使いどころに慣れるまで
そっちの方が大変だって言ったんだよ。
まぁ表であればあくまで俺であれば、
項目をプロパティにして
1レコードをクラスにして、
それをコレクションやディクショナリに
登録して使うよ。前記したけどね。
どう使うかを決めるのも自分。
だからクラスそのものより
考え方や使いどころに慣れるまで
そっちの方が大変だって言ったんだよ。
まぁ表であればあくまで俺であれば、
項目をプロパティにして
1レコードをクラスにして、
それをコレクションやディクショナリに
登録して使うよ。前記したけどね。
179デフォルトの名無しさん (スププ Sd02-yrn4)
2021/04/10(土) 22:23:34.34ID:duTza7EGd オレ知ってる!
クラスってニューして使うんだよな!
クラスってニューして使うんだよな!
180デフォルトの名無しさん (ワッチョイ 0663-uh6b)
2021/04/10(土) 23:22:47.33ID:kj/emQZa0 エクセルでガントチャートを作りたく極力簡単な方法を探しています。
(手順が少なく、エクセル苦手でも理解しやすい)
自力で探したところ
ttps://excel-master.net/cells-worksheets-control/gantt-chart-3/
の「条件付き書式でガントチャートをつくる」が一番簡単な気がしましたが
より簡単な方法があったらご教授いただきたく。
windows板で尋ねようかと思いましたがエクセル専用スレが無いため
詳しい人が多そうなこのスレにお邪魔しました。
(手順が少なく、エクセル苦手でも理解しやすい)
自力で探したところ
ttps://excel-master.net/cells-worksheets-control/gantt-chart-3/
の「条件付き書式でガントチャートをつくる」が一番簡単な気がしましたが
より簡単な方法があったらご教授いただきたく。
windows板で尋ねようかと思いましたがエクセル専用スレが無いため
詳しい人が多そうなこのスレにお邪魔しました。
181デフォルトの名無しさん (アウアウウー Sabb-siCT)
2021/04/10(土) 23:41:30.33ID:KgXo78Rva 要望は何回もやり直したほうがよいよ
さいしょは相手も自分もよくわかってないから
Ver3ぐらいでようやく完成する
さいしょは相手も自分もよくわかってないから
Ver3ぐらいでようやく完成する
182デフォルトの名無しさん (ワッチョイ e24f-9aNE)
2021/04/11(日) 00:00:57.05ID:0+LhiyyI0 >>180
あ、これ、俺は苦手だわ
WBS作ろうとするとどうしても
簡単に作ることより分かり易くする方に
力入れちゃうから多分そのリンク先に
載ってることよりややこしい数式にしてしまう
ま、WBSなんて基本、予定線と実績線、
あと遅れそうになった時のワーニング色と
遅れた時のアラート色、
あと遅延リカバリ用の枠付けとくくらいだから
大したもんじゃないからまぁ頑張って。
こういうの作るときにもっと大事なのは
見積もりとそれに対するする人員と期間の
配分だから、そっちも任されているなら
そっちに作業の80%くらい割り振って
考えた方がいいよ。
あ、これ、俺は苦手だわ
WBS作ろうとするとどうしても
簡単に作ることより分かり易くする方に
力入れちゃうから多分そのリンク先に
載ってることよりややこしい数式にしてしまう
ま、WBSなんて基本、予定線と実績線、
あと遅れそうになった時のワーニング色と
遅れた時のアラート色、
あと遅延リカバリ用の枠付けとくくらいだから
大したもんじゃないからまぁ頑張って。
こういうの作るときにもっと大事なのは
見積もりとそれに対するする人員と期間の
配分だから、そっちも任されているなら
そっちに作業の80%くらい割り振って
考えた方がいいよ。
183デフォルトの名無しさん (スッップ Sd02-N28a)
2021/04/11(日) 02:17:20.23ID:x6o0gjqGd 馬鹿ばっかのスレ
184デフォルトの名無しさん (アウアウウー Sabb-siCT)
2021/04/11(日) 02:27:18.88ID:C7VIYXjZa ガントチャートだとあんまり工程管理にならないんだよ
やってみるとわかるけど
8割がた遅延する、というか遅れてないと進捗がわからないだよ
1、そもそもスタートしていなかった?
これがいちばんおおい
2、深刻で致命的なもんだいが、見つかるとはいちばん最後
だから
やってみるとわかるけど
8割がた遅延する、というか遅れてないと進捗がわからないだよ
1、そもそもスタートしていなかった?
これがいちばんおおい
2、深刻で致命的なもんだいが、見つかるとはいちばん最後
だから
185デフォルトの名無しさん (テテンテンテン MM8e-VoLZ)
2021/04/11(日) 10:19:59.88ID:Gib6KHmfM186デフォルトの名無しさん (ササクッテロ Sp5f-9aNE)
2021/04/11(日) 11:13:40.17ID:udnt6yH0p 質問です
今後このスレ
こう言ったEXCELのとか
旧VB6とか許容すんの?
古参なら今までどういったことが
有ったか覚えていると思うけど
今後このスレ
こう言ったEXCELのとか
旧VB6とか許容すんの?
古参なら今までどういったことが
有ったか覚えていると思うけど
187デフォルトの名無しさん (テテンテンテン MM8e-qfGw)
2021/04/11(日) 11:43:22.55ID:TwIBijR2M 質問者はワークシートでの作り方はある程度想像がつくけどVBAの知識がある人ならよりスマートな方法を知っているかもしれないと考えてここで聞いたんだろうし、
それに対してワークシートの機能でできることはVBA使うよりワークシートの機能でやった方がいいってのは極めて妥当で健全な回答だろう
そんなことでいちいちスレ違い警察さんが出動しなくていいよ
それに対してワークシートの機能でできることはVBA使うよりワークシートの機能でやった方がいいってのは極めて妥当で健全な回答だろう
そんなことでいちいちスレ違い警察さんが出動しなくていいよ
188デフォルトの名無しさん (ワッチョイ e24f-9aNE)
2021/04/11(日) 12:04:02.09ID:0+LhiyyI0189デフォルトの名無しさん (ワッチョイ ebcd-AcCi)
2021/04/11(日) 12:41:42.70ID:WBicdlML0 excelのOnTime関数をPowerPointで使うこと出来ないよね?同じ機能を持った関数ってある?
190デフォルトの名無しさん (ワッチョイ e24f-9aNE)
2021/04/11(日) 12:55:23.83ID:0+LhiyyI0191デフォルトの名無しさん (ワッチョイ cb5f-SvS6)
2021/04/11(日) 13:01:24.60ID:J2w1eWX20 Excelから呼び出せないのか
起動中のソフトを検索するワード関数をExcelから呼び出してるの見かけたことあるけど
起動中のソフトを検索するワード関数をExcelから呼び出してるの見かけたことあるけど
192デフォルトの名無しさん (ワッチョイ ebcd-AcCi)
2021/04/11(日) 14:13:05.18ID:WBicdlML0193デフォルトの名無しさん (ワッチョイ 6268-/CMm)
2021/04/11(日) 15:30:39.63ID:VuRQUus/0 vb.netでdllとか作った方が早いような
194デフォルトの名無しさん (ワッチョイ 2310-BQFA)
2021/04/11(日) 20:16:20.16ID:MoadxaFG0195デフォルトの名無しさん (ワッチョイ 6f2c-uh6b)
2021/04/11(日) 21:10:22.11ID:LXnW0jT40 Python, Julia, Ruby などで使う、Jupyter Lab に、ガントチャートは無いのか?
196デフォルトの名無しさん (ワッチョイ 6268-/CMm)
2021/04/11(日) 21:40:30.24ID:VuRQUus/0 >>196
あることはある
https://cafe-mickey.com/python/plotly-tutorial-6/
でも結局死ぬほどカスタマイズすることになるから、EXCELで作るのが一番マシ
あることはある
https://cafe-mickey.com/python/plotly-tutorial-6/
でも結局死ぬほどカスタマイズすることになるから、EXCELで作るのが一番マシ
197デフォルトの名無しさん (ワッチョイ 7fda-9Ojr)
2021/04/11(日) 23:13:09.15ID:rV+Er0Dj0 業務とはかけ離れた腕自慢スレになりつつあるなここは
198デフォルトの名無しさん (ワッチョイ 0663-uh6b)
2021/04/11(日) 23:26:48.43ID:ZRspFCij0199デフォルトの名無しさん (JP 0H93-CoCA)
2021/04/11(日) 23:52:08.05ID:Omw3/P/WH >>197
昔から、質問の答えが出た後に別の方法を書き込む競争はやってた
昔から、質問の答えが出た後に別の方法を書き込む競争はやってた
200デフォルトの名無しさん (ワッチョイ 068e-N28a)
2021/04/12(月) 00:09:38.61ID:zgwaoc/v0 いつものあいつだな
201デフォルトの名無しさん (ワントンキン MM92-YQ+d)
2021/04/12(月) 02:49:52.91ID:Bvz5U6oCM まだ引っ掛かる馬鹿がいるのか
202デフォルトの名無しさん (ワッチョイ 7fda-9Ojr)
2021/04/12(月) 09:23:22.30ID:H+Y94TUB0 回答者さん同士で競争とか知恵袋と同じじゃんか
無駄にスレの無駄遣い
無駄にスレの無駄遣い
203デフォルトの名無しさん (ワッチョイ c6da-CoCA)
2021/04/12(月) 10:17:02.71ID:5VvoR6W20 無駄な書き込みを無駄にスレに書き込んでスレを無駄に使うことはスレの無駄遣いだと書き込むことはスレの無駄遣いかもしれない
204デフォルトの名無しさん (アウアウウー Sabb-siCT)
2021/04/12(月) 10:35:19.07ID:0gH2bD5Aa 無駄な努力が、むくわれるのさ
205デフォルトの名無しさん (アウアウウー Sabb-siCT)
2021/04/12(月) 10:49:33.17ID:0gH2bD5Aa VLookupをつかったのは無駄な努力だったな
やめときゃよかった
やめときゃよかった
206デフォルトの名無しさん (アウアウウー Sabb-siCT)
2021/04/12(月) 10:56:04.87ID:0gH2bD5Aa これをマクロでどうにかなりませんか
そういってわたされたのがVLookupが山のように貼り付けられた
エクセルシートだった
うまくと動くけと突然とまるw
けっきょくforループの検索に代えた
とここまで書いておもいだしたが
去年、メンタル悪化で退職した同僚がいたけど
のこしていってのはやはりVLookupの山だったな
動かないVLookupで退職するまえに本スレにご相談ください
そういってわたされたのがVLookupが山のように貼り付けられた
エクセルシートだった
うまくと動くけと突然とまるw
けっきょくforループの検索に代えた
とここまで書いておもいだしたが
去年、メンタル悪化で退職した同僚がいたけど
のこしていってのはやはりVLookupの山だったな
動かないVLookupで退職するまえに本スレにご相談ください
207デフォルトの名無しさん (ブーイモ MM93-m7DA)
2021/04/12(月) 12:12:04.06ID:8dcLaG4EM Excel初心者はVLookupしか知らないから
何でもこれでやろうとして自爆する傾向があるね
何でもこれでやろうとして自爆する傾向があるね
208デフォルトの名無しさん (ワッチョイ 7fda-9Ojr)
2021/04/12(月) 12:24:31.30ID:H+Y94TUB0 そのVlook関数はマクロ経由なのかが気になる
209デフォルトの名無しさん (JP 0H93-CoCA)
2021/04/12(月) 12:42:14.50ID:HPbAbv3kH 池の女神は言いました
あなたが落としたのはVLOOKUPですか、HLOOKUPですか
いいえ私が落としたのはXLOOKUPです
あなたが落としたのはVLOOKUPですか、HLOOKUPですか
いいえ私が落としたのはXLOOKUPです
210デフォルトの名無しさん (ワッチョイ e24f-9aNE)
2021/04/12(月) 13:02:43.22ID:A3OoULtt0 質問です
>>209の言う
VlookupとHlookupの頭文字は
バーティカル(垂直)とホライズン(水平)
なのは分かるんですがXlookupの頭文字の
Xってなんですか?
EXCELの質問でスレ違いなのは
重々承知していますが
このスレにいる方々の知識の豊富さに縋らせてください
考えると夜も眠れない有様です
>>209の言う
VlookupとHlookupの頭文字は
バーティカル(垂直)とホライズン(水平)
なのは分かるんですがXlookupの頭文字の
Xってなんですか?
EXCELの質問でスレ違いなのは
重々承知していますが
このスレにいる方々の知識の豊富さに縋らせてください
考えると夜も眠れない有様です
211デフォルトの名無しさん (アウアウウー Sabb-ZQ1a)
2021/04/12(月) 13:25:12.45ID:QkakYyyta >>210
クロス
クロス
212デフォルトの名無しさん (ワッチョイ e24f-9aNE)
2021/04/12(月) 13:30:51.45ID:A3OoULtt0213デフォルトの名無しさん (ワッチョイ 6242-KVJ7)
2021/04/12(月) 13:34:07.13ID:X9TSjYQR0 XmasのX
214デフォルトの名無しさん (ササクッテロラ Sp5f-ZNvo)
2021/04/12(月) 13:36:54.52ID:MyLZJXYdp 向こうではCrossとかChristmasをXで省略するから、だと思う
215デフォルトの名無しさん (ワッチョイ e24f-9aNE)
2021/04/12(月) 13:41:07.52ID:A3OoULtt0■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 【卓球】早田ひな、「総額100万スられた」「ずっと憧れていたスペインとイタリア…」ヨーロッパ旅行で悲劇 スリ被害を告白 [muffin★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 日経平均の下落率3%超す、財政懸念で長期金利上昇 ★2 [お断り★]
- 【実況】博衣こよりのえちえち歌枠🧪★2
- 産経新聞「高市早苗の答弁さぁ……思慮が足りてなくね?官僚と詰めずに思いつきで話しているでしょ」 [175344491]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 【画像】外務省局長「この度はうちの🦎がすみません…」中国「……」 [165981677]
- 【雑談】暇人集会所part18
- 外務省局長、よくわからないまま帰国へ [834922174]
