!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:UjlIZ1Ov024デフォルトの名無しさん (ワッチョイ 8a3d-0rrK)
2023/01/30(月) 03:06:05.93ID:yj3XWjhj0 >>23
できました
できました
25デフォルトの名無しさん (ワッチョイ 3619-GWjr)
2023/01/30(月) 08:01:49.37ID:1uz9zngm0 >>20
> 子側クラス内で親側クラスのインスタンスを作成しているので、循環しているような気持ち悪さはありますが、内部はメインコードからは見えませんし。
堅牢性から考えるとVBAに限らずここがまずいかな
子クラスCで親クラスAを生成すると言う事は、
もし同じような親クラスDを作成して同じ子クラスを
使おうとするとその中で親クラスAを作成することが
前提となってしまい、親クラスDでは使えない場合が出てくる。
子クラスではあくまで子クラスの役割を
与えるべきであって、もし親クラスの機能を
使いたいなら直接子クラスの中で生成するのではなく、
CallByNameやインターフェースを使用するかして
処理を移譲させるようにした方がいいと思うよ。
> 子側クラス内で親側クラスのインスタンスを作成しているので、循環しているような気持ち悪さはありますが、内部はメインコードからは見えませんし。
堅牢性から考えるとVBAに限らずここがまずいかな
子クラスCで親クラスAを生成すると言う事は、
もし同じような親クラスDを作成して同じ子クラスを
使おうとするとその中で親クラスAを作成することが
前提となってしまい、親クラスDでは使えない場合が出てくる。
子クラスではあくまで子クラスの役割を
与えるべきであって、もし親クラスの機能を
使いたいなら直接子クラスの中で生成するのではなく、
CallByNameやインターフェースを使用するかして
処理を移譲させるようにした方がいいと思うよ。
26デフォルトの名無しさん (スププ Sdba-5IHC)
2023/01/30(月) 09:39:47.20ID:e2a+Lyz1d CSVファイルって、Excelで開いて編集して保存すると文字コードの問題でデータの後ろに半角スペースが入ることがあるのでしょうか?
27デフォルトの名無しさん (スププ Sdba-5IHC)
2023/01/30(月) 09:40:56.25ID:e2a+Lyz1d 元々半角スペース入ってなかったのにデータをかきかえたりすると文字コードがShiftJISではない場合、文字化けして半角スペースが入るのでしょうか?
28デフォルトの名無しさん (スッップ Sdba-+rQD)
2023/01/30(月) 10:51:56.77ID:Vha856Nid29デフォルトの名無しさん (オッペケ Sr3b-Gtwf)
2023/01/30(月) 11:54:01.10ID:beImLHJmr30デフォルトの名無しさん (スププ Sdba-5IHC)
2023/01/30(月) 15:20:40.00ID:e2a+Lyz1d31デフォルトの名無しさん (ワッチョイ 172f-DSsr)
2023/01/30(月) 15:57:22.13ID:dCL8a0ux0 >>29
その記事、余白と空白文字(半角スペース)を同一視してるのが気持ち悪いな
その記事、余白と空白文字(半角スペース)を同一視してるのが気持ち悪いな
32デフォルトの名無しさん (アウアウウー Sa47-hj3w)
2023/01/30(月) 19:11:31.03ID:uxYUj7Ria >>31
そうは言ってもExcelだと余白を空けるのに空白しか使えないから仕方なくね?
そうは言ってもExcelだと余白を空けるのに空白しか使えないから仕方なくね?
33デフォルトの名無しさん (ワッチョイ 172f-DSsr)
2023/01/30(月) 21:40:04.89ID:dCL8a0ux034デフォルトの名無しさん (ワッチョイ 0b01-hj3w)
2023/01/30(月) 22:17:38.88ID:uC26F0Aa0 >>33
なるほどインデントは忘れてたわw
なるほどインデントは忘れてたわw
35デフォルトの名無しさん (アウアウウー Sa47-DSsr)
2023/01/31(火) 05:21:30.98ID:JnYo5yDia 余白はデータじゃなくて、見た目。
見た目のために、データを変更するのか?
それなら、trim などで、データの先頭末尾の空白類を除去する必要がある
見た目のために、データを変更するのか?
それなら、trim などで、データの先頭末尾の空白類を除去する必要がある
36デフォルトの名無しさん (アウアウウー Sa47-B/zI)
2023/01/31(火) 12:24:23.88ID:XEbPQm8Ra 余白は木を切る~
37デフォルトの名無しさん (ワッチョイ 5f10-exzg)
2023/01/31(火) 15:00:10.31ID:bFYKhQ9l0 うまい!座布団何枚?
3820 (ワッチョイ b666-5T4A)
2023/02/01(水) 15:16:25.31ID:J3cdB8RP0 >>25
レス感謝です。
呼び出しだけなので「お父さんやって」的なイメージでした。
>もし同じような親クラスDを作成して同じ子クラスを
>使おうとするとその中で親クラスAを作成することが
>前提となってしまい、親クラスDでは使えない場合が出てくる。
ここがわかりませんでした。
ClsFatherとClsSonの二つがあるとします。
メインでClsFatherから父親シルバを作成、
自動的にClsFatherの中で息子キルアが作成されて父親のプロパティにセットされる
親クラスDにあたる父親ジンをClsFatherから作成して、息子ゴンがを作成される
息子ジンが継承もどきで使う機能は父親ドンのだけのつもりでしたが、
継承って本来は父親シルバ、息子ゴンみたいな組合せも自由に出来るものって意味だから
それじゃ違うよってことですか?
息子ゴンのメソッドでどの親メソッドを継承するかをImprementsとかで動的にしなさいということですか?
レス感謝です。
呼び出しだけなので「お父さんやって」的なイメージでした。
>もし同じような親クラスDを作成して同じ子クラスを
>使おうとするとその中で親クラスAを作成することが
>前提となってしまい、親クラスDでは使えない場合が出てくる。
ここがわかりませんでした。
ClsFatherとClsSonの二つがあるとします。
メインでClsFatherから父親シルバを作成、
自動的にClsFatherの中で息子キルアが作成されて父親のプロパティにセットされる
親クラスDにあたる父親ジンをClsFatherから作成して、息子ゴンがを作成される
息子ジンが継承もどきで使う機能は父親ドンのだけのつもりでしたが、
継承って本来は父親シルバ、息子ゴンみたいな組合せも自由に出来るものって意味だから
それじゃ違うよってことですか?
息子ゴンのメソッドでどの親メソッドを継承するかをImprementsとかで動的にしなさいということですか?
39デフォルトの名無しさん (ワッチョイ 172f-DSsr)
2023/02/01(水) 18:01:33.64ID:lcTv0p8q04038 (ワッチョイ b666-5T4A)
2023/02/01(水) 19:12:55.35ID:J3cdB8RP0 >>39
そうです。子も親のインスタンスを生成します。
当然オブジェクトとしては別物ですが、同じクラスからの生成ですので、
同じ親の機能を使えるという意味です。
実際にゴンはジンを作れず、ジンとほぼ同じ能力を持つ別の何かの力を使って
継承に見せかけるという事です。
この見せかけ行為が本当の意味での親オブジェクトの機能継承にあたらず危ないよって意味でしょうか?
で、本当の意味での親オブジェクトの機能を使うならCallByNameやImprementsを使いなよって意味でしょうか?
そうです。子も親のインスタンスを生成します。
当然オブジェクトとしては別物ですが、同じクラスからの生成ですので、
同じ親の機能を使えるという意味です。
実際にゴンはジンを作れず、ジンとほぼ同じ能力を持つ別の何かの力を使って
継承に見せかけるという事です。
この見せかけ行為が本当の意味での親オブジェクトの機能継承にあたらず危ないよって意味でしょうか?
で、本当の意味での親オブジェクトの機能を使うならCallByNameやImprementsを使いなよって意味でしょうか?
4140 (ワッチョイ b666-5T4A)
2023/02/01(水) 22:04:53.94ID:J3cdB8RP0 すみません。質問途中に別の質問をする事になってしまいます。
自力で解決出来ませんでした。
VBEのCtrl+hボタンで出てくる置換機能で、パターンマッチングを使用するにチェックを入れました。
Ai.Erase
Ai.Create
AiErase
AiCreate
この4つのワードにおいて、パターンマッチングとして
Ai[AE]としたら下の二つにだけマッチングしました。
そしたら一致したAとEは温存しつつAiとA or Eの間にどっとを入れたいのです。
実際はもう少し複雑なパターンなのですが。簡略化するとこんな感じです。
一致したAとEが消えてしまうので困っているのです。
一致した[AE]のどちらかをそのまま残したいと
Ai.[AE]みたいにしても置換後文字列はAi.[AE]がそのまま出てきてしまいます。
思ってるような使い方は出来ないという事でよろしいでしょうか?
自力で解決出来ませんでした。
VBEのCtrl+hボタンで出てくる置換機能で、パターンマッチングを使用するにチェックを入れました。
Ai.Erase
Ai.Create
AiErase
AiCreate
この4つのワードにおいて、パターンマッチングとして
Ai[AE]としたら下の二つにだけマッチングしました。
そしたら一致したAとEは温存しつつAiとA or Eの間にどっとを入れたいのです。
実際はもう少し複雑なパターンなのですが。簡略化するとこんな感じです。
一致したAとEが消えてしまうので困っているのです。
一致した[AE]のどちらかをそのまま残したいと
Ai.[AE]みたいにしても置換後文字列はAi.[AE]がそのまま出てきてしまいます。
思ってるような使い方は出来ないという事でよろしいでしょうか?
42デフォルトの名無しさん (ワッチョイ 8a3d-0rrK)
2023/02/03(金) 01:33:26.18ID:0K9bvbAh0 Sub test_if()
a = -1
If a >= 2 Then
Debug.Print "aは2以上"
Else
Debug.Print "aは2未満"
End If
End Sub
というマクロなんだけど<>を使わずに同じことが可能?
<>はネット上では禁止されてる場合があるので。
a = -1
If a >= 2 Then
Debug.Print "aは2以上"
Else
Debug.Print "aは2未満"
End If
End Sub
というマクロなんだけど<>を使わずに同じことが可能?
<>はネット上では禁止されてる場合があるので。
43デフォルトの名無しさん (ワッチョイ 57da-WwKN)
2023/02/03(金) 06:07:59.84ID:VZIBsXzk0 範囲を指定できるのであればCase文でtoを使うとかかな
44デフォルトの名無しさん (アウアウウー Sa47-hj3w)
2023/02/03(金) 07:22:57.06ID:3sKN4Loqa45デフォルトの名無しさん (ワッチョイ 4e01-wzUf)
2023/02/03(金) 11:32:43.16ID:bf4OLvi00 オートフィルタの或る列が昇順でソートされているかどうか
を判定する方法を教えて下さい。
を判定する方法を教えて下さい。
46デフォルトの名無しさん (ワッチョイ 4e01-wzUf)
2023/02/03(金) 11:36:12.10ID:bf4OLvi00 >>45
昇順か降順かは問わず、ソートされているかどうかでした。
昇順か降順かは問わず、ソートされているかどうかでした。
47デフォルトの名無しさん (ワッチョイ 0eda-+rQD)
2023/02/03(金) 19:20:46.12ID:UC5jDXxN0 >>45
自分でソートしたものと比較して同じ順番だったらソートされているといえる
自分でソートしたものと比較して同じ順番だったらソートされているといえる
48デフォルトの名無しさん (ワッチョイ 8379-jh2e)
2023/02/03(金) 19:24:07.79ID:fZLyE03H0 いや待て、どっかのプロパティにフラグがないかを尋ねてるんだと思うぞ
俺は知らないがな
俺は知らないがな
49デフォルトの名無しさん (ワッチョイ 5fda-2biX)
2023/02/03(金) 20:25:48.41ID:6Slrjruv0 フィルターのボタンに↑↓とか表示されない?抽出とかだとロートの図が出てたり?
50デフォルトの名無しさん (ワッチョイ ff19-gKyW)
2023/02/04(土) 01:29:18.62ID:Wbq5qWPo051デフォルトの名無しさん (ワッチョイ 4f01-Rev0)
2023/02/04(土) 03:13:48.63ID:5cp+GCIG0 一次元配列の中に二次元配列を入れるのってシートから二次元配列として取り込まない限り無理ですか?
例えばa(2)って一次元配列を作って
a(0)=cells(1,1).currentregion
とした場合、a(0)(1,1)と格納されるよね。
一方、b(2)って一次元配列をつくってそこに2次元配列を格納しようとしてredim b(0)(100,100)って宣言してもエラーになるよね?
例えばa(2)って一次元配列を作って
a(0)=cells(1,1).currentregion
とした場合、a(0)(1,1)と格納されるよね。
一方、b(2)って一次元配列をつくってそこに2次元配列を格納しようとしてredim b(0)(100,100)って宣言してもエラーになるよね?
52デフォルトの名無しさん (ワッチョイ 4f01-Rev0)
2023/02/04(土) 03:22:13.04ID:5cp+GCIG0 特に複数のcsvを一次元配列ごとに二次元配列として取り込みたかったんたけど、それができなくて困ってます
0.csv→a(0)に二次元配列として格納
1.csv→a(1)に二次元配列として格納
2.csv→a(2)に二次元配列として格納
よくありそうなパターンですけどネットで調べても出てこなくて…
何かいいアイディアはあるでしょうか?
0.csv→a(0)に二次元配列として格納
1.csv→a(1)に二次元配列として格納
2.csv→a(2)に二次元配列として格納
よくありそうなパターンですけどネットで調べても出てこなくて…
何かいいアイディアはあるでしょうか?
53デフォルトの名無しさん (ワッチョイ 0fda-kmO4)
2023/02/04(土) 06:12:27.84ID:JIMr/Iwq054デフォルトの名無しさん (ワッチョイ 0fda-kmO4)
2023/02/04(土) 06:14:50.01ID:JIMr/Iwq0 >>53
あるいはdirectoryのitemに2次元配列としてaddするか
あるいはdirectoryのitemに2次元配列としてaddするか
55デフォルトの名無しさん (ワッチョイ 0fda-kmO4)
2023/02/04(土) 06:19:01.21ID:JIMr/Iwq056デフォルトの名無しさん (ワッチョイ 7f01-EU89)
2023/02/04(土) 08:21:23.33ID:XHbOUS2x057デフォルトの名無しさん (ワッチョイ 4f01-mMLA)
2023/02/04(土) 09:06:33.92ID:YYLIzwcR058デフォルトの名無しさん (スプッッ Sda3-D+99)
2023/02/04(土) 09:14:10.73ID:xQtdr6Ugd >>45
AIさんからの天の声です
Sub CheckSortOrder()
Dim sortOrder As Boolean
sortOrder = ActiveSheet.AutoFilter.Sort.SortOn
If sortOrder = True Then
MsgBox "The column is sorted in ascending order."
Else
MsgBox "The column is not sorted in ascending order."
End If
End Sub
AIさんからの天の声です
Sub CheckSortOrder()
Dim sortOrder As Boolean
sortOrder = ActiveSheet.AutoFilter.Sort.SortOn
If sortOrder = True Then
MsgBox "The column is sorted in ascending order."
Else
MsgBox "The column is not sorted in ascending order."
End If
End Sub
59デフォルトの名無しさん (ワッチョイ 8fda-EOzK)
2023/02/04(土) 10:59:33.56ID:mzRI23fF0 >>58
だからさ、そのコードが有効かどうかを、先ずはじぶんで検証しろよ ゴミコードだろうと何でも貼りゃあいいってもんじゃねーぞ
△! オブジェクトは、このプロパティまたはメソッドをサポートしていません。だぞ おま環のせいで動作しないだけってか?
検証もしてない野良コードは世間の大迷惑 AIなら間違わないってか? 訊ねる人間側に問題あるからゴミコード吐くのに気付け
だからさ、そのコードが有効かどうかを、先ずはじぶんで検証しろよ ゴミコードだろうと何でも貼りゃあいいってもんじゃねーぞ
△! オブジェクトは、このプロパティまたはメソッドをサポートしていません。だぞ おま環のせいで動作しないだけってか?
検証もしてない野良コードは世間の大迷惑 AIなら間違わないってか? 訊ねる人間側に問題あるからゴミコード吐くのに気付け
60デフォルトの名無しさん (スプッッ Sddf-D+99)
2023/02/04(土) 11:20:43.51ID:EUGDlgP1d >>59
そのコードを検証することは重要です。そのコードが有効かどうかは、まず自分で確認する必要があります。「AIなら間違わない」という考え方は誤りです。AIモデルはトレーニングデータから学習するだけであり、常に正確ではありません。野良コードを使用しても問題が起こる可能性があり、それが世間を混乱させることがあります。
そのコードを検証することは重要です。そのコードが有効かどうかは、まず自分で確認する必要があります。「AIなら間違わない」という考え方は誤りです。AIモデルはトレーニングデータから学習するだけであり、常に正確ではありません。野良コードを使用しても問題が起こる可能性があり、それが世間を混乱させることがあります。
61デフォルトの名無しさん (ワッチョイ 4f01-Rev0)
2023/02/04(土) 13:12:21.87ID:sIc7L3oe0 >>53
「csvを格納するならそのまま格納して」って言うのが、まさにその方法を知りたいっていう質問でした
Line Inputをつかって一行ずつ一次元配列に分割して、それを二次元配列に格納して、二次元配列の一次元目を増やして…ってのを繰り返すってのを考えました
(二次元配列の一次元目を増やすプロシージャを作成する前提)
ところがredim b(0)(100,100)という宣言自体がエラーになるのでどうしたものかと
「csvを格納するならそのまま格納して」って言うのが、まさにその方法を知りたいっていう質問でした
Line Inputをつかって一行ずつ一次元配列に分割して、それを二次元配列に格納して、二次元配列の一次元目を増やして…ってのを繰り返すってのを考えました
(二次元配列の一次元目を増やすプロシージャを作成する前提)
ところがredim b(0)(100,100)という宣言自体がエラーになるのでどうしたものかと
62デフォルトの名無しさん (ワッチョイ 0fda-kmO4)
2023/02/04(土) 14:48:40.79ID:JIMr/Iwq0 >>61
お役に立てたのならなによりっす。
でもその内容を聞いた感じだとcollectionかdictionaryを使ったほうがいい気もする。csvがどのくらいの文字数かわからんけど下手するとオーバーフローしそうな気が、、、
あとそもそもファイル操作で読み込むんじゃなくてPowerqueryとかでデータテーブル化してしまえば扱いやすい気も、、、あ、スマンね。いらぬお節介やった。
お役に立てたのならなによりっす。
でもその内容を聞いた感じだとcollectionかdictionaryを使ったほうがいい気もする。csvがどのくらいの文字数かわからんけど下手するとオーバーフローしそうな気が、、、
あとそもそもファイル操作で読み込むんじゃなくてPowerqueryとかでデータテーブル化してしまえば扱いやすい気も、、、あ、スマンね。いらぬお節介やった。
63デフォルトの名無しさん (ワッチョイ cf79-p19T)
2023/02/04(土) 18:22:34.02ID:Av2vQos/0 >>61
そういうのって1次元の配列にCSVから作った2次元配列を足していくジャグ配列だよね
a(b)(c,d)として使いたいってそういう事だよね
CSVから2次元配列に落とす部分は自力で適当に作るしかないと思うよ
そういうのって1次元の配列にCSVから作った2次元配列を足していくジャグ配列だよね
a(b)(c,d)として使いたいってそういう事だよね
CSVから2次元配列に落とす部分は自力で適当に作るしかないと思うよ
64デフォルトの名無しさん (ワッチョイ 0f2f-gpJN)
2023/02/04(土) 19:42:17.96ID:3xAEA7yN0 >>52
2次元配列を格納したバリアント型の1次元配列を使えばまあできるんじゃね
2次元配列を格納したバリアント型の1次元配列を使えばまあできるんじゃね
65デフォルトの名無しさん (ワッチョイ 4f01-Rev0)
2023/02/04(土) 22:05:52.42ID:sIc7L3oe0 >>62
ジャグ配列はまさにその通りです!
色々調べてみたところ、Workbooks.OpenTextで一度新しいブックを開いて、そこをcurrentregionで二次元配列として取得するのが一番早そうでした
シート一度貼り付けて、そこから取得するのがちょっとかっこ悪い気もしますが、コード的には一番楽のだと思うのでそれでいきたいと思います
ありがとうごさいました!
ジャグ配列はまさにその通りです!
色々調べてみたところ、Workbooks.OpenTextで一度新しいブックを開いて、そこをcurrentregionで二次元配列として取得するのが一番早そうでした
シート一度貼り付けて、そこから取得するのがちょっとかっこ悪い気もしますが、コード的には一番楽のだと思うのでそれでいきたいと思います
ありがとうごさいました!
66デフォルトの名無しさん (ワッチョイ 4f01-Rev0)
2023/02/04(土) 22:07:02.46ID:sIc7L3oe067デフォルトの名無しさん (ワッチョイ 0fda-kmO4)
2023/02/05(日) 06:12:14.98ID:zxOMW0wY0 >>65
解決の糸口が見つかってよかったです。
シートに貼り付けるのは一見かっこ悪く見えるかもしれませんが、エクセルの場合シート自体が目視できる2次元配列みたいなものなのでデータ用のシートを用意しておくのはデバッグの意味でも有効と思います。
最終的に非表示にしておけばデータを変えて不具合が出たときに参照できますしね。
解決の糸口が見つかってよかったです。
シートに貼り付けるのは一見かっこ悪く見えるかもしれませんが、エクセルの場合シート自体が目視できる2次元配列みたいなものなのでデータ用のシートを用意しておくのはデバッグの意味でも有効と思います。
最終的に非表示にしておけばデータを変えて不具合が出たときに参照できますしね。
68デフォルトの名無しさん (ワッチョイ cf79-p19T)
2023/02/05(日) 17:55:21.75ID:IrR7f/G90 シートに読み込ませてUsedRange.Valueで二次元配列を取得する場合はインデックスが1オリジンになるとこだけ注意
69デフォルトの名無しさん (スップ Sd5f-dHSc)
2023/02/08(水) 13:33:38.06ID:yPPt1d0+d 名前の定義で範囲に名前をつけると数式で使用できますが、
VBAで自作関数を作り、その引数として定義した名前を使用するとエラーとなってしまいます。
一応定義した名前の後に&“”を付けて文字列化すればエラーを回避できるのですが、毎回これを入力するのは煩わしく見栄えも悪いのでできることならなんとかしたいのですが
解決策ありましたらご教示の程お願いいたします。
VBAで自作関数を作り、その引数として定義した名前を使用するとエラーとなってしまいます。
一応定義した名前の後に&“”を付けて文字列化すればエラーを回避できるのですが、毎回これを入力するのは煩わしく見栄えも悪いのでできることならなんとかしたいのですが
解決策ありましたらご教示の程お願いいたします。
70デフォルトの名無しさん (ワッチョイ 0f2f-gpJN)
2023/02/08(水) 14:59:06.65ID:oAUh4t2x0 その関数のシグネチャとエラーメッセージぐらいかけよ
71デフォルトの名無しさん (アウアウウー Sa93-4QSx)
2023/02/08(水) 15:37:35.62ID:FTgAG7p2a 毎回やるならインターフェース関数作ればいいだけ
72デフォルトの名無しさん (スッップ Sd5f-kmO4)
2023/02/08(水) 20:18:25.84ID:GAx9K2n2d >>69
実現したいことがどんなことなのかわからないけど名前定義した範囲をRange型の変数にsetしてRange型のまま引数として渡しちゃいかんの?
実現したいことがどんなことなのかわからないけど名前定義した範囲をRange型の変数にsetしてRange型のまま引数として渡しちゃいかんの?
73デフォルトの名無しさん (スップ Sd5f-dHSc)
2023/02/08(水) 23:15:53.95ID:Gaz3gRVpd 言葉でうまく説明できないので画像で説明させていただきます。
例えば引数の文字列に別の文字列をくっつけて返すだけのシンプルな関数を作ります。
当然引数にセルを指定すれば問題なく使用できます。
https://i.imgur.com/SnSyEby.png
次に、範囲に名前をつけてそれを引数として使用します。
https://i.imgur.com/6mcu5nn.png
するとこのように「#VALUE!」エラーが出ます。
https://i.imgur.com/9NNr0sB.png
ちなみに範囲の名前に&“”をつければ期待通りの結果になります。
https://i.imgur.com/haXX7gC.png
と、SS撮ってて気づきましたが範囲の中から同じ行のセルを選んで渡す必要があるのですね。
VLOOKUPの第一引数なんかで同じことをすると自動的に同じ行だけを渡せるので勘違いしていました。
例えば引数の文字列に別の文字列をくっつけて返すだけのシンプルな関数を作ります。
当然引数にセルを指定すれば問題なく使用できます。
https://i.imgur.com/SnSyEby.png
次に、範囲に名前をつけてそれを引数として使用します。
https://i.imgur.com/6mcu5nn.png
するとこのように「#VALUE!」エラーが出ます。
https://i.imgur.com/9NNr0sB.png
ちなみに範囲の名前に&“”をつければ期待通りの結果になります。
https://i.imgur.com/haXX7gC.png
と、SS撮ってて気づきましたが範囲の中から同じ行のセルを選んで渡す必要があるのですね。
VLOOKUPの第一引数なんかで同じことをすると自動的に同じ行だけを渡せるので勘違いしていました。
74デフォルトの名無しさん (ワッチョイ 0fda-zLlH)
2023/02/09(木) 07:05:59.22ID:bJr31kU+0 >>73
検証してないので的外れかもしれないけどたぶんRangeのデフォルト値の問題かと。
うろ覚えだけどvariant型で渡されているからセル単体を引数で渡すとセル内容の値の型(今回はstring型)を渡すけど
複数セルを渡すとrange型のオブジェクトとして渡されてるんじゃないかな。
なので自身で書かれているようにセルを特定してあげないといけないのだと思う。
検証してないので的外れかもしれないけどたぶんRangeのデフォルト値の問題かと。
うろ覚えだけどvariant型で渡されているからセル単体を引数で渡すとセル内容の値の型(今回はstring型)を渡すけど
複数セルを渡すとrange型のオブジェクトとして渡されてるんじゃないかな。
なので自身で書かれているようにセルを特定してあげないといけないのだと思う。
75デフォルトの名無しさん (ワッチョイ 0f2f-gpJN)
2023/02/09(木) 23:30:18.42ID:TUokDGw7076デフォルトの名無しさん (ワッチョイ fa3d-n4dK)
2023/02/13(月) 03:20:36.33ID:COtuPGR00 Sub test()
a = 0.2
b = 0.4
If a + b = 0.6 Then
Debug.Print "A"
Else
Debug.Print "B"
End If
End Sub
これってAじゃね?
a = 0.2
b = 0.4
If a + b = 0.6 Then
Debug.Print "A"
Else
Debug.Print "B"
End If
End Sub
これってAじゃね?
77デフォルトの名無しさん (スッップ Sdaa-GMxD)
2023/02/13(月) 07:05:23.93ID:HpzJjAlxd78デフォルトの名無しさん (ワッチョイ d301-0qku)
2023/02/13(月) 07:53:01.46ID:/kiwbSJJ0 >>76
きちんと型宣言すればちゃんと計算できる
詳しくは下を見た方が早い
https://excel-ubara.com/excelvba4/EXCEL_VBA_427.html#:~:text=Single%EF%BC%88%E5%8D%98%E7%B2%BE%E5%BA%A6%E6%B5%AE%E5%8B%95%E5%B0%8F%E6%95%B0%E7%82%B9%E6%95%B0%E5%9E%8B%EF%BC%89%E3%81%AF4%E3%83%90%E3%82%A4%E3%83%88,%E7%99%BA%E7%94%9F%E3%81%97%E3%81%A6%E3%81%97%E3%81%BE%E3%81%84%E3%81%BE%E3%81%99%E3%80%82
きちんと型宣言すればちゃんと計算できる
詳しくは下を見た方が早い
https://excel-ubara.com/excelvba4/EXCEL_VBA_427.html#:~:text=Single%EF%BC%88%E5%8D%98%E7%B2%BE%E5%BA%A6%E6%B5%AE%E5%8B%95%E5%B0%8F%E6%95%B0%E7%82%B9%E6%95%B0%E5%9E%8B%EF%BC%89%E3%81%AF4%E3%83%90%E3%82%A4%E3%83%88,%E7%99%BA%E7%94%9F%E3%81%97%E3%81%A6%E3%81%97%E3%81%BE%E3%81%84%E3%81%BE%E3%81%99%E3%80%82
79デフォルトの名無しさん (アウアウウー Sa4f-qaxQ)
2023/02/13(月) 10:13:40.33ID:QGUistpWa >>76
ほんとだよく気付いたね って言ってほしいのか?
ほんとだよく気付いたね って言ってほしいのか?
80デフォルトの名無しさん (ワッチョイ ff35-fTjZ)
2023/02/13(月) 10:18:31.40ID:86tN/4J60 すみません、マクロスレに誘導されてきました。教えてください
【1 OSの種類 .】 Windows**
【2 Excelのバージョン 】 Excel16.0
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
◆やりたいこと
データモデルに値を格納し接続先を作成している
その接続先にあるリストを、検索フォーム、コンボボックスなどのデータソースにしたい
◆補足情報とし調べがついてること
・ピボットテーブルにはビボットテーブル→データモデルからで設定できた
・選択リストもINDIRECT関数で設定できた
・コンボボックスや検索フォームは、RowSourceTypeにテーブルクエリーを設定
・RowSourceプロパティにテーブル名を設定
ここまではわかっていますが、うまく設定ができません
具体的には、下記コードでエラーが出ます
実行時エラー‘13’
型が一致しません
エラーの出たコード
Privets Sub UserForm1 Initialize() {
Me.ComboBox1.RowSourceType = “Table/Query”
Me.ComboBox1.RowSource = “syamei1”
}
上記のコードの書き方、サンプルコードがあれば教えて下さい。よろしくお願いします
【1 OSの種類 .】 Windows**
【2 Excelのバージョン 】 Excel16.0
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
◆やりたいこと
データモデルに値を格納し接続先を作成している
その接続先にあるリストを、検索フォーム、コンボボックスなどのデータソースにしたい
◆補足情報とし調べがついてること
・ピボットテーブルにはビボットテーブル→データモデルからで設定できた
・選択リストもINDIRECT関数で設定できた
・コンボボックスや検索フォームは、RowSourceTypeにテーブルクエリーを設定
・RowSourceプロパティにテーブル名を設定
ここまではわかっていますが、うまく設定ができません
具体的には、下記コードでエラーが出ます
実行時エラー‘13’
型が一致しません
エラーの出たコード
Privets Sub UserForm1 Initialize() {
Me.ComboBox1.RowSourceType = “Table/Query”
Me.ComboBox1.RowSource = “syamei1”
}
上記のコードの書き方、サンプルコードがあれば教えて下さい。よろしくお願いします
81デフォルトの名無しさん (ワッチョイ ff35-fTjZ)
2023/02/13(月) 10:21:58.10ID:86tN/4J60 連投すみません
コンボボックスじゃなくても構いません
やりたいことは大量のデータをもとに入力用のポップアップウインドウを作りたいです
レコードが合計で100万以上あり、重たくなるのを避けるために、データモデルの概念を知り、それで入力フォームを作ろうとしています
その方法でコンボボックスを見つけましたが、元となるデータソースがデータモデルの接続先から選べるなら、コンボボックスの形式じゃなくても構いません
入力規則で選択リストの値を持ってくることはできましたが、レコード件数が多いので、フォームで出したいと思っています
よろしくお願いします
コンボボックスじゃなくても構いません
やりたいことは大量のデータをもとに入力用のポップアップウインドウを作りたいです
レコードが合計で100万以上あり、重たくなるのを避けるために、データモデルの概念を知り、それで入力フォームを作ろうとしています
その方法でコンボボックスを見つけましたが、元となるデータソースがデータモデルの接続先から選べるなら、コンボボックスの形式じゃなくても構いません
入力規則で選択リストの値を持ってくることはできましたが、レコード件数が多いので、フォームで出したいと思っています
よろしくお願いします
82デフォルトの名無しさん (アウアウウー Sa4f-qaxQ)
2023/02/13(月) 11:40:19.98ID:GyFZ7uvya Privets ?
83デフォルトの名無しさん (ワッチョイ ff35-fTjZ)
2023/02/13(月) 14:18:20.91ID:86tN/4J60 スマホ手打ちなので誤字は勘弁を
84デフォルトの名無しさん (ワッチョイ 0710-hSWQ)
2023/02/13(月) 17:29:24.70ID:pezzuKY30 スマホで5ちゃん見てる人も多くなったのか
85デフォルトの名無しさん (アウアウウー Sa4f-qaxQ)
2023/02/14(火) 11:37:45.99ID:nNkhowbBa 拙者も携帯なので試せないでござるよ
86デフォルトの名無しさん (アウアウウー Sa4f-mhYO)
2023/02/14(火) 13:19:18.08ID:YTnfnco6a 現場で使えるテクニック満載のVBAの本を教えて下さい。
87デフォルトの名無しさん (ワッチョイ 0710-hSWQ)
2023/02/14(火) 22:18:21.54ID:h0+uN4JM0 見てどうする?
現場に活かせるとは限らんぞ
現場に活かせるとは限らんぞ
88デフォルトの名無しさん (ワッチョイ aff9-UHi0)
2023/02/15(水) 09:38:23.37ID:dWAC20qI0 syamei1ってテーブルを指定してるようだけど
ちゃんとテーブルが存在してるの?
RowSourceでクエリやsql指定してみたら?
ちゃんとテーブルが存在してるの?
RowSourceでクエリやsql指定してみたら?
89デフォルトの名無しさん (ワッチョイ deda-D0vN)
2023/02/15(水) 19:02:02.67ID:8XlBz3tg0 >>87
活かせる現場に転職するんじゃね
活かせる現場に転職するんじゃね
90デフォルトの名無しさん (ワッチョイ c619-xn9B)
2023/02/15(水) 19:27:38.40ID:HlAv3bv30 ネットが見れない環境なんかね?
銀行系ではよくある話だけど
銀行系ではよくある話だけど
91デフォルトの名無しさん (ワッチョイ 0710-hSWQ)
2023/02/15(水) 19:39:09.60ID:UoMCmZrt0 絆創膏テクニック的な本はたくさん出ているでしょ
92デフォルトの名無しさん (ワッチョイ deda-D0vN)
2023/02/15(水) 20:32:13.82ID:8XlBz3tg0 銀行でお金の計算を初心者が本見ながらEXCELのVBAで作ってるとか
そんな銀行やばくね
そんな銀行やばくね
93デフォルトの名無しさん (ワッチョイ 0710-hSWQ)
2023/02/16(木) 02:33:56.63ID:v5+0ZrcQ0 ヤバいよそれは。
思い出したけど、どこかの銀行がATMの不具合出した事故を思い出したわ。
それと同じようなトラブルになるのでは?
思い出したけど、どこかの銀行がATMの不具合出した事故を思い出したわ。
それと同じようなトラブルになるのでは?
94デフォルトの名無しさん (ワッチョイ a705-0qku)
2023/02/16(木) 14:14:15.80ID:TeVuhO500 Excel 365なんだが
ActiveXのコンボボックスをシートに配置すると
ブックを閉じるときにコンボボックスのChangeイベントが発生して
Changeイベントのコードが実行されるんだが、なんで閉じるときに発生するん?
バグじゃねーの?
ActiveXのコンボボックスをシートに配置すると
ブックを閉じるときにコンボボックスのChangeイベントが発生して
Changeイベントのコードが実行されるんだが、なんで閉じるときに発生するん?
バグじゃねーの?
95デフォルトの名無しさん (スププ Sdaa-GKAg)
2023/02/16(木) 17:40:38.79ID:ImcZX1+Nd アクティブXコントロールでボタン作ると、ボタン押した時にボタン内の文字が左に寄るのですが、これは治せるのでしょうか?
96デフォルトの名無しさん (ワッチョイ 07da-8lmq)
2023/02/16(木) 17:44:23.49ID:IvN11mYG0 ActiveXオブジェクトは、自分(Application)のオブジェクトに見えても、実は外部のオブジェクトです
Application イベントの扱いで記述不足や漏れが無いか、プロパティの見直しなどしてみるかコードを貼ってみるなり
Application イベントの扱いで記述不足や漏れが無いか、プロパティの見直しなどしてみるかコードを貼ってみるなり
97デフォルトの名無しさん (ワッチョイ 0710-hSWQ)
2023/02/16(木) 20:35:33.62ID:v5+0ZrcQ0 ActiveXってExcelで使わない方が良いみたいな記事(日経PC)で見た記憶ある
98デフォルトの名無しさん (ワッチョイ a705-0qku)
2023/02/17(金) 07:12:43.98ID:WORa0xXL0 ActiveXはExcelシートで使うもんじゃないってのは今でも定石!
99デフォルトの名無しさん (スププ Sdaa-GKAg)
2023/02/17(金) 10:04:33.80ID:o2LVTB4Vd https://answers.microsoft.com/ja-jp/msoffice/forum/all/office-2016-の-activex/81aa0b17-2f60-49c3-83f7-02c164969f7c
Excel2016のバグなんですね
Excel2016のバグなんですね
100デフォルトの名無しさん (スププ Sdaa-GKAg)
2023/02/17(金) 10:05:10.85ID:o2LVTB4Vd https://answers.microsoft.com/ja-jp/msoffice/forum/all/office-2016-の-activex/81aa0b17-2f60-49c3-83f7-02c164969f7c
101デフォルトの名無しさん (ワッチョイ 07da-8lmq)
2023/02/17(金) 10:15:37.69ID:znCeXLfL0 そんな古いVer使い続けるなよ スタンドアロンで一台こっきりならまだしも
102デフォルトの名無しさん (ワッチョイ 4600-XLfl)
2023/02/17(金) 15:42:35.67ID:WFsPqw+S0 検索で例えば「あ」という文字をすべて探し出して
その一文字前を選択したいんですがどうすればいいですか?
Selection.Find
.Text = "あ"
Selection.Words.First.Previous.Select
としてみましたがうまく行きませんでした
カーソルのある前の文字が選択されます
その一文字前を選択したいんですがどうすればいいですか?
Selection.Find
.Text = "あ"
Selection.Words.First.Previous.Select
としてみましたがうまく行きませんでした
カーソルのある前の文字が選択されます
103デフォルトの名無しさん (スップ Sd4a-2YIw)
2023/02/17(金) 16:30:19.83ID:KwkbTkoud >>102
複数の選択ができると思ってんのか?
複数の選択ができると思ってんのか?
104デフォルトの名無しさん (ワッチョイ 4600-XLfl)
2023/02/17(金) 17:31:12.72ID:WFsPqw+S0105デフォルトの名無しさん (ワッチョイ 8749-D0vN)
2023/02/17(金) 20:35:48.06ID:clT0gqvf0106デフォルトの名無しさん (ワッチョイ 4600-XLfl)
2023/02/17(金) 20:59:53.94ID:WFsPqw+S0 >>105
ありがとうございます
けど"あ"が複数あるセルも多いので…複数回走査したらループ終わらなくなりますし
"あ"は目印として入れてあるだけで最後にまとめて消すつもりだったんですが
一回フォント変更の処理したらそこの"あ"を消してもう一度検索がいいんでしょうか…
ありがとうございます
けど"あ"が複数あるセルも多いので…複数回走査したらループ終わらなくなりますし
"あ"は目印として入れてあるだけで最後にまとめて消すつもりだったんですが
一回フォント変更の処理したらそこの"あ"を消してもう一度検索がいいんでしょうか…
107デフォルトの名無しさん (スプッッ Sd4a-GMxD)
2023/02/17(金) 22:23:30.64ID:v2XGnFXnd >>106
Mid( Range.value, x)で
セル内のx文字目から後ろを切り出せる
Instr( Mid( Range.value, x), z)で
セル内のx文字目から切り出した中で文字列zが何文字目にくるのか知ることができる
Range.characters(x, y).Fontで
セル内のx文字目からy文字分みたいな一部指定でのフォント変更が出来る
これらのxやyをForで変更しながら処理すればいけると思う
Mid( Range.value, x)で
セル内のx文字目から後ろを切り出せる
Instr( Mid( Range.value, x), z)で
セル内のx文字目から切り出した中で文字列zが何文字目にくるのか知ることができる
Range.characters(x, y).Fontで
セル内のx文字目からy文字分みたいな一部指定でのフォント変更が出来る
これらのxやyをForで変更しながら処理すればいけると思う
108デフォルトの名無しさん (ワッチョイ 4600-XLfl)
2023/02/17(金) 22:57:47.99ID:WFsPqw+S0109デフォルトの名無しさん (ワッチョイ fd49-BTrK)
2023/02/18(土) 11:21:39.71ID:wyxXLbRL0 >>108
コードを書いてみた。
所定のフォントを変えた後、最後にまとめて「あ」を空白に置換させている。
Sub findあ()
Dim foundcell As Range, firstcell As Range, target As Range, Num As Long, flag As Boolean
Set foundcell = Cells.find(What:="あ")
If foundcell Is Nothing Then Exit Sub
Set firstcell = foundcell:Set target = foundcell
Do
Num = InStr(foundcell, "あ")
If Num > 1 Then
flag = False
Do
If flag = False Then Num = 0
Num = InStr(Num + 1, foundcell, "あ")
If Num = 0 Then Exit Do
foundcell.Characters(Start:=Num - 1, Length:=1).Font.Name = "BIZ UDゴシック":flag = True
Loop
End If
Set target = Union(target, foundcell)
Set foundcell = Cells.FindNext(foundcell)
Loop Until foundcell.Address = firstcell.Address
target.Replace What:="あ", Replacement:=""
End Sub
コードを書いてみた。
所定のフォントを変えた後、最後にまとめて「あ」を空白に置換させている。
Sub findあ()
Dim foundcell As Range, firstcell As Range, target As Range, Num As Long, flag As Boolean
Set foundcell = Cells.find(What:="あ")
If foundcell Is Nothing Then Exit Sub
Set firstcell = foundcell:Set target = foundcell
Do
Num = InStr(foundcell, "あ")
If Num > 1 Then
flag = False
Do
If flag = False Then Num = 0
Num = InStr(Num + 1, foundcell, "あ")
If Num = 0 Then Exit Do
foundcell.Characters(Start:=Num - 1, Length:=1).Font.Name = "BIZ UDゴシック":flag = True
Loop
End If
Set target = Union(target, foundcell)
Set foundcell = Cells.FindNext(foundcell)
Loop Until foundcell.Address = firstcell.Address
target.Replace What:="あ", Replacement:=""
End Sub
110109 (ワッチョイ fd49-H4qV)
2023/02/18(土) 11:39:38.68ID:wyxXLbRL0 途中で書き込んでしまったので
もし使うならインデント調整して下さい
もし使うならインデント調整して下さい
111デフォルトの名無しさん (オイコラミネオ MM91-Acf1)
2023/02/18(土) 18:22:51.48ID:oiEmQBhiM112デフォルトの名無しさん (ワッチョイ 2302-3nnD)
2023/02/19(日) 13:44:33.87ID:E1njzG6f0 次のようにA列にid番号、B列に削除されるid番号あります。
A,B
1,3
2,5
3,7
4,
5,
6,
7,
8,
9,
C列にAからBの番号を除外したものが残ります。
C,
1
2
4
8
9
これを実現するのに、みなさんならセル関数を使いますか?VBAを使いますか?
A,B
1,3
2,5
3,7
4,
5,
6,
7,
8,
9,
C列にAからBの番号を除外したものが残ります。
C,
1
2
4
8
9
これを実現するのに、みなさんならセル関数を使いますか?VBAを使いますか?
113デフォルトの名無しさん (ワッチョイ 9b8c-DN/W)
2023/02/19(日) 14:09:46.37ID:fQjaN3Vg0 バージョンは
114デフォルトの名無しさん (ワッチョイ 2302-3nnD)
2023/02/19(日) 14:50:51.24ID:E1njzG6f0 ver2019です。
115デフォルトの名無しさん (ワッチョイ 2342-rjXQ)
2023/02/19(日) 15:46:46.73ID:IrwBul5G0 手動も含めて一番都合がいいのを使う
116デフォルトの名無しさん (ワッチョイ 2302-3nnD)
2023/02/19(日) 16:33:34.29ID:E1njzG6f0 ありがとうございます。慣れないですがVBAで行うことにしました。
117デフォルトの名無しさん (ワッチョイ 2302-3nnD)
2023/02/19(日) 16:36:15.42ID:E1njzG6f0 以下の実行が通りません。
If init_id(i) = del_id(j) Then
の個所でインデックスの範囲外というエラーがでました。
配列に対して添字を()しているのが問題でしょうか?
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
init_id = Worksheets("Play").Range(Worksheets("Play").Cells(2, 1), Worksheets("Play").Cells(totalQuestions + 1, 1)).Value
pastQuestions = Worksheets("arrData").Cells(Rows.Count, 2).End(xlUp).Row - 1
del_id = Worksheets("arrData").Range(Worksheets("arrData").Cells(2, 2), Worksheets("arrData").Cells(pastQuestions + 1, 2)).Value
Dim i As Integer, j As Integer
For i = 1 To totalQuestions
For j = 1 To pastQuestions
If init_id(i) = del_id(j) Then
Debug.Print init_id(i).Value
End If
Next j
Next i
End Sub
If init_id(i) = del_id(j) Then
の個所でインデックスの範囲外というエラーがでました。
配列に対して添字を()しているのが問題でしょうか?
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
init_id = Worksheets("Play").Range(Worksheets("Play").Cells(2, 1), Worksheets("Play").Cells(totalQuestions + 1, 1)).Value
pastQuestions = Worksheets("arrData").Cells(Rows.Count, 2).End(xlUp).Row - 1
del_id = Worksheets("arrData").Range(Worksheets("arrData").Cells(2, 2), Worksheets("arrData").Cells(pastQuestions + 1, 2)).Value
Dim i As Integer, j As Integer
For i = 1 To totalQuestions
For j = 1 To pastQuestions
If init_id(i) = del_id(j) Then
Debug.Print init_id(i).Value
End If
Next j
Next i
End Sub
118デフォルトの名無しさん (ワッチョイ 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の存在チェックで判定する方が簡単そうだけどなぁ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【おこめ】「有能だったんじゃ」おこめ券で批判殺到の鈴木農水大臣…ネットでは前任の“進次郎再評価” [ぐれ★]
- 「もうキモくてキモくて…」29歳女性が語る“おぢアタック”の実態。「俺ならイケるかも」年下女性を狙う勘違い中年男性に共通点が★3 [Hitzeschleier★]
- 【中国外務省】日本への渡航自粛を再度呼びかけ 今度は「地震発生」を理由に [ぐれ★]
- 日本語が話せない「外国籍」の子が急増中、授業がストップ、教室から脱走も…先生にも大きな負担「日本語支援」追いつかず★3 [七波羅探題★]
- 【今年の漢字】吉村維新代表「成」 万博成功、連立で政策成す [蚤の市★]
- 【MLB】ダルビッシュの息子・ショウエイが大学チームに所属決定 「野球IQを持っている」と監督 183センチ、86キロの恵まれた体形 [冬月記者★]
- ネトウヨ「中国の例の証拠動画、日本側の応答が海自の無線規則とは違うので捏造です」海自の動画でネトウヨの嘘だとバレる [165981677]
- 日本人、世界で最もブランドに興味なし🇯🇵 [462275543]
- 【悲報】ネトウヨ「釧路湿原を守れえぇぇ!!」メガソーラー屋さん「1坪500円でその土地買い取ります☺」 [616817505]
- 【悲報】たぬかなが渡邊渚を壮絶バッシング 「グラビア出したあたりから臭いな~と思ってたが激臭になってたわ。中居は悪くない」 [455031798]
- 【悲報】鈴木農水大臣、国民から「こいつひょっとしてアホなんじゃね?」と思われ始めてしまうwww [793117252]
- お昼のまったり🍵😶‍🌫🤏すこすこハウス🏡
