• ベストアンサー

配列の列数を取得するには?

 いつもお世話になっております。  配列の行数を取得するには、ubound関数を使えば取得できますが、列数を取得するにはどうしたらよいのでしょうか。  よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • stouma
  • ベストアンサー率35% (142/399)
回答No.2

,2は次元数を表しています。 MSDNでも書かれています。 通常は省略可能であるため1がセットされています。 よって1次元数(ここでは行数と表現)の配列数が 取得できます。 例えばDim strHai(1,2,3) as String の場合はUbound(strHai,3)にすることにより 3次元目を取得することもできます。

takaandhiro
質問者

お礼

配列に3次元目もあるとは知りませんでした。 大変勉強になりました。 ありがとうございました。

その他の回答 (1)

  • stouma
  • ベストアンサー率35% (142/399)
回答No.1

UBound(○○○, 2) ではどうでしょうか? VB6

takaandhiro
質問者

補足

!!! できました… 同じuboundでも、「,2」を付ければ、列数を調べるということなのでしょうか?

関連するQ&A

  • csvファイルのデータ列数を取得したいのですがうまくいきません。

    csvファイルのデータ列数を取得したいのですがうまくいきません。 VB2010、StreamReaderでファイルを読み込み、 以下のコードで列数を取得してみたのですが、 数値変数の「列数」に7が入ります。 実際は3列しかありません。 SR.ReadLine()で読み込んだデータ右端部にいらないカンマがいくつか並んでいました。 列数 = UBound(Split(SR.ReadLine(), ",")) どう修正したらよいでしょうか。 また、csvファイルのデータ列数を簡単に取得する方法はないでしょうか? 教えてください。 お手数をおかけしますがよろしくお願いします。

  • 多次元配列(リファレンス)

    @dat=( [1,2,3], [4,5,6], [7,8,9]) という多次元の配列を作ったときに,$size=@datとすれば行列の行数が得られますが,列数を取得するためにはどうすればよいのでしょうか。 つまりこの場合$dat[0][0]に1が, $dat[0][1]に2が, そして$dat[0][2]には3が入っていますから,3という(列数の)値を取得したいのです。

    • ベストアンサー
    • Perl
  • 配列の添え字の取得

    お世話になります。 javascriptで配列の添え字を取得する関数は ありますでしょうか? fruit['apple'] = "りんご" fruit['melon'] = "メロン" といった配列から、添え字の'apple'や'melon'を 取得したいのですが。 ネットで検索してもそういった関数が見当たりませんでした。 どうぞご教授いただけますよう宜しくお願いします。

  • php sqlite count 列数取得

    php5 apache2 sqlite xpの環境で、指定したテーブルをcountして行数ではなく、列数を取得したいのですが、調べても見つけることができなかったためご教授御願いします。 A B C 2 4 6 1 3 4 行でしたら select count(*) from tbl_a で「2」が取得できるのですが、「3」の列を取得したいのです。

    • ベストアンサー
    • PHP
  • 2次元配列について、教えてください。

    基本的なことなのでしょうがまだよくわかっていません。 ワークシートにたとえると、1次元は縦方向(行番号方向)、二次元は横方向(列番号方向)ですよね? 列数、行数にあたるのが1次元、二次元それぞれの添字ですよね? そしてセルに当たるのが「要素」ですよね? 以上の解釈があっていたら、 1.A列やB列にあたるものはなんと呼ぶのでしょうか? 2.1行目や2行目にあたるのはなんと呼びますか? 3.ワークシートで行や列を削除するような感じで2次元配列の行や列にあたるものを削除することはできますか? 4.UBound関数は、配列の大きさを調べられますが、この大きさは添字です。ワークシートのCells(65536,1).End(xlUp)Rowのように実際にデータがどこまで入っているか調べられますか? 教えてください。 前提とした解釈自体が違っていたらそれもご指摘ください。

  • Readlineで取得したCSVの列数が異なる

    以下のような行のCSVを読み込む処理があります。 "Field1","Field2","Field3","Field4", hogehoge = Split(objFso.Readline,",") ↑ のように読み込んだ場合に、hogehoge配列のインデックスが(毎回ではないですが)取得する度に異なりました。 上の例だと、 1回目のUBound(hogehoge)=3 2回目のUBound(hogehoge)=4 と、いった具合です。 カンマで終了している事自体、変な行ではあるのですがひょっとしてASPのバグなのかも?と、思っています。 どなたか同じ現象にあったことがある方、または何か情報をお持ちの方は教えて下さい。

  • VBAで多次元配列のインデックス番号の取得

    一次元配列の場合=UBOUND(array)-LBOUND(array)で配列の長さが求められますよね。これが二次元配列でarray(4,13)とかの場合上記式を入れても4という値が取得できますが、13という値を求めたい場合はどうすればよいでしょうか

  • ASP.NET DataGridの項目数(列数)の取得

    ASP.NETを使用しています。 DataGridにて、表示しているデータの項目数(列数)を取得したいのですが、記述がどうも分かりません。 Me.DataGrid1.Columns.Count で取れそうな気がしてやってみましたが、取得できるのは「1」という数のみで実際の数と一致しません。どなたかご教授いただけないでしょうか? 尚、 Me.DataGrid1.Items.Count にて表示されているデータの行数の取得はできます。

  • String配列を扱うアルゴリズムについて

    よりパフォーマンスの良いアルゴリズムが、 ございましたらご教示下さい。 数レコード分のDBテーブルデータが格納されたString[][]型が存在するとします。 配列の要素は、String[行(フィールド)][列(カラム)]です。 ここで、全レコード中の列ごとの最大文字列長を int[]型に取得したいと思います。 そうした場合、自作した下記の処理よりも、 よいパフォーマンスを得られるアルゴリズムがございましたら、 ご教示願いたいと思います。 ※処理前提条件 ●String[][]型変数に、過不足無くテーブルデータが格納済みであるとします。 ●配列の第一(行)・第二(列)要素の最大値は取得済みであるとします。 ////////////// // 変数定義 // ////////////// String[][] tableData; ← テーブルデータ格納済み(過不足はありません) int 行数 = 全行数(取得済み); int 列数 = 全列数(取得済み); //列毎の最長文字列値を格納する。 int[] maxLen = new int[列数]; ////////// // 処理 // ////////// //列の個数分、処理を繰り返す for(int i = 0; i < 列数; i++) {   //行の個数分、処理を繰り返す   for(int j = 0; j < 行数; j++) {     //NULLを回避する     if(tableData[i][j] != null) {       //int配列に格納済みの数値より大きければ、改めて格納する       if(maxLen[i] < tableData[i][j].length()) {         maxLen[i] = tableData[i][j].length();       }     }   } } 以上です、どなかお知恵をお貸し頂けませんか。 宜しくお願い致します。

    • ベストアンサー
    • Java
  • エクセルにて行数と列数を減らす

    エクセルにて使用以外の行数と列数(余白部分)を削除したいのですが、削除方法はありますでしょうか?