パソコン仕事5倍塾
35,000人を指導した東大卒・元日本IBM社内講師が直伝
MENU
みねさんの投稿
(投稿ID: 4050)
小川慶一さんのコメント
(コメントID: 5610)
Sub hoge() 'ary(0), ary(1), ary(2), ary(3), ary(4), ary(5) 'で構成された、要素数6, 最小インデックス0, 最大インデックス 5 の配列を作ります↓ Dim ary(5) As Long '結果を出力してみましょう↓ Debug.Print LBound(ary) '0 が出力されます Debug.Print UBound(ary) '5 が出力されます End Sub
みねさんのコメント
(コメントID: 6868)
(コメントID: 5613)
Sub fuga() Dim vList(1, 32) As Variant Debug.Print UBound(vList, 1) Debug.Print UBound(vList, 2) End Sub
(コメントID: 6869)
(コメントID: 5617)
外部アカウントで登録
たった1ヶ月で人生が劇的に変わりました
佐藤信さん
役員クラスの方から高い評価を受けるようになりました。
佐賀県 - 岩本徹さん
今までまったく知らなかったショートカットキーを使いまくっています。
東京都 - 鷹觜慶さん
年齢60才間近、営業で外回りの時間が多い私でも退社時間が1-2時間程度早くなりました。
東京都 - 宗内隆明さん
受講前もすでにパソコン得意でしたが、そんな私でも受講して本当に良かったと思えた講座です。
東京都 - 佐伯とも子さん
ここまで包括的に仕事に役立つ深い学びを受けれた講座は初めてでした
東京都 - 飯田倫子さん
2024年04月27日 15:36
2024年04月25日 07:00
2024年04月23日 21:36
2024年04月23日 10:01
2024年04月22日 03:23
2024年04月28日 20:53
2024年04月28日 19:20
2024年04月28日 15:34
2024年04月28日 12:07
2024年04月28日 11:43
2022年02月24日 10:59
2019年12月23日 05:57
2019年09月20日 12:29
表示できる投稿はありません。
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
2022年02月02日 00:00
2022年02月02日 03:00
2022年02月02日 06:00
2022年02月02日 09:00
2022年02月02日 12:00
2024年02月15日 18:30
2024年02月09日 17:05
2024年01月19日 13:00
2023年12月31日 17:00
2023年12月21日 14:00
2024年04月27日 23:02
2024年02月28日 14:53
2024年02月27日 14:27
2024年02月27日 14:21
2024年02月27日 14:15
みねさんの投稿
(投稿ID: 4050)
LBound関数やUnbound関数の第二引数は、「配列の、左から数えて何次元目のところの最小値、最大値を求めるか」を指定するための引数です。
なので、この例の場合だと、計算結果の例は、以下のようになります。
LBound(vList, 1) → 0
UBound(vList, 1) → 1
LBound(vList, 2) → 0
UBound(vList, 2) → 31
というのが理解不能です。
二次元だと
1列目2列目ともにの最小の値が1 最大が31
だと思うのですが
なぜ
LBound(vList, 1) → 0
UBound(vList, 1) → 1
LBound(vList, 2) → 0
UBound(vList, 2) → 31
こうなってしまうのかわかりません。
具体的に35ページの青い点線でいう
どこからどこまでの範囲を 1とした場合と2とした場合で
指すのかおしえていただけるとありがたいです。
よろしくお願いします。
小川慶一さんのコメント
(コメントID: 5610)
まずは確認。
一次元配列の場合の LBound関数、 UBound関数の計算結果については、よいでしょうか。
↑上記のとおり、最小値は0です。
同様に、二次元配列でも、最小値は0。
...という説明で、まずはどうでしょう?
> テキスト35ページの
>
> LBound関数やUnbound関数の第二引数は、「配列の、左から数えて何次元目のところの最小値、最大値を求めるか」を指定するための引数です。
> なので、この例の場合だと、計算結果の例は、以下のようになります。
> LBound(vList, 1) → 0
> UBound(vList, 1) → 1
> LBound(vList, 2) → 0
> UBound(vList, 2) → 31
>
> というのが理解不能です。
> 二次元だと
>
> 1列目2列目ともにの最小の値が1 最大が31
> だと思うのですが
>
> なぜ
> LBound(vList, 1) → 0
> UBound(vList, 1) → 1
> LBound(vList, 2) → 0
> UBound(vList, 2) → 31
>
> こうなってしまうのかわかりません。
> 具体的に35ページの青い点線でいう
> どこからどこまでの範囲を 1とした場合と2とした場合で
> 指すのかおしえていただけるとありがたいです。
> よろしくお願いします。
みねさんのコメント
(コメントID: 6868)
最小値の説明はわかりました。
最大値が↓の2つで何故違うのかがわかりません。
UBound(vList, 1) → 1
UBound(vList, 2) → 31
35ページの
点線の2列とも最大値は31番目だと思うのですが
UBound(vList, 1) → 1
になってしまう理由がわかりません。
よろしくおねがいします。
小川慶一さんのコメント
(コメントID: 5613)
二次元配列を作るとは、直感的に言うと、長方形の入れ物を作るということです。
Dim vList(1, 32) As Variant
であれば、横2,縦33の長さの長方形ができあがる、ということです。
[a] 横サイズ2(0から1まで)
[b] 縦サイズ33(0から32まで)
UBound(vList, 1)は、上述[a]の1を取得するものです。
UBound(vList, 2)は、上述[b]の32を取得するものです。
という説明でどうでしょうか。
> 早速の返信ありがとうございます。
> 最小値の説明はわかりました。
> 最大値が↓の2つで何故違うのかがわかりません。
>
> UBound(vList, 1) → 1
>
> UBound(vList, 2) → 31
>
> 35ページの
> 点線の2列とも最大値は31番目だと思うのですが
>
> UBound(vList, 1) → 1
>
> になってしまう理由がわかりません。
> よろしくおねがいします。
みねさんのコメント
(コメントID: 6869)
ありがとうございます。
小川慶一さんのコメント
(コメントID: 5617)
よかったです。
ひきつづきよろしくお願いいたします☆
> とても良く理解出来ました。
> ありがとうございます。