• ベストアンサー

VBで、tableの列を動的に増やす方法ってありますか?

pchelp-sandboxの回答

  • ベストアンサー
回答No.1

VBでtable(一覧形式の表示)とくれば、グリッドコントロールを用いて表示するのが一般的です。 グリッドコントロールは、汎用的なMSFlexGrid、DBと親和性のあるDataGrid、リッチなサードパーティ製Gridなどがあります。当たり前ですが、行・列とも可変対応です。 データを表示するだけならMSFlexGridで十分ですが、セルの値を編集させるとなると少々手間になります。 もう一つ、標準コントロールを動的に生成して、グリッドを自前で作る手法があります。スクロール機能も実装するとなると、開発者がビギナーだと荷が重くなってきます。 ここらの情報は「動的 生成 コントロール VB」辺りをキーワードに検索して見てください。どこでもゴロゴロ出てくると思います。 どれにするかは、表に求められている機能と、費用および開発者のスキルと相談して決めることになります。

takokko
質問者

補足

ご回答ありがとうございます。 「DataGrid 動的」で調べてみようと思います。 また、初歩的なお話なのですが、 ひとつの画面で、複数のボタンを用意し、そのボタンを押して、 列数が違う表を表示したいと考えております。 その際にも、DataGridを利用して、取得したデータの列数に あわせてその時々で表を動的生成することは、可能なものなのでしょうか?よろしくお願いいたします。

関連するQ&A

  • エクセル マクロ 文字列からの行数の取得

    エクセルでマクロ初心者です。よろしくお願いします。例えば1列目にデータ名が入力されていてその個数が可変である場合(小計は末尾ではありません)小計行の1列目から数式をいれたいのですが、行数が固定でないため小計と書かれたセルの行数を取得したいのですが、わかりません。いい方法をお願いします。    A B C D データ aa bb cc 小計 ・ ・

  • VB初心者です。よろしくお願いします。

    すみません。 プログラム中で数式を書きたいのですが、       9/1    9/2 データ1 10000 20000 データ2 15000 300 データ3 18000 40000 累計 43000 60300 たとえば↑みたいな表の場合、 累計は数式をプログラムに書いて出力したい場合、 (例の表が見ずらくてすみません) 行と列は固定ではなく可変で intRow,intColという変数にセットされているとした時、 (値はプログラム中で算出してセットされている事を前提) 累計はどのように書いたらよろしいでしょうか・・・ 書きたいセルの場所が固定の場合は分かるのですが、 行と列が可変で変数にもたせた場合の書き方が よく分かりません。 よろしくお願い致します。

  • 列の削除を早くしたい

    列の削除を自動化する次のマクロをおしえていただきました。 ずっと使っていましたが、異常に処理が遅いのです。 列の数は2370列以上あり、変動します。 行数は1から33行までで、固定しています。 この行数の固定を加味して、もっと早く処理したいのですが、どうしたらよろしいでしょうか。 Sub 空白列の削除() Dim UsedCell As Range Dim Max_column, columnCount As Integer '使用しているセルの範囲を取得します Set UsedCell = ActiveSheet.UsedRange '最大の行番号を取得します Max_column = UsedCell.Cells(UsedCell.Count).Column For columnCount = Max_column To 1 Step -1 'Worksheet関数のCountAを使ってデータの個数をカウント If Application.WorksheetFunction.CountA(Columns(columnCount)) = 0 Then '行の削除 Columns(columnCount).Delete End If Next End Sub

  • エクセル 2010 のピポット・テーブル

    エクセル 2003 でピポット・テーブルを使って,同じ列にあるデータの個数をカウントしていました。基本的な原理は全く分からないのですが,添付画像にあるように,カウントする列をアクティブにして(画像左)ピポット・テーブルを作動させますと,「ここの行にフィールドをドラッグします」,「ここにデータ アイテムをドッグします」という表示がなされ(画像中),その通りドラッグするとデータの個数を集計してくれます。(画像右) エクセル 2010 で同じ操作をさせようと思っているのですが,ピポット・テーブルの仕様が,以前と違うようで,操作の仕方が分かりません。手順をご指導いただけませんでしょうか。

  • ピボットテーブルの操作

    Excel2010でピボットテーブルを勉強しています いま 添付図のようなデータで 男女別に”1”の個数 ”2”の個数 ”3”の個数・・・・・・・というようにデータの個数をカウントしたいのですが 何か良い方法はないものでしょうか ちなみに私はA・B・C各列別々にデータの個数をカウントし あとでSUM関数で合計するという原始的な方法でしのいでいます(各列のデータ数は特に必要ありません) COUNTIF関数なら苦労しませんが あくまでピボットテーブルで処理をしたいのです どうぞよいお知恵をよろしくお願いします

  • javascriptで要素の文字列の取得方法

    現在、javascriptとgreasemonkeyを勉強中なのですが、以下のソースでp要素の文字列?にある一部分を取り出して、 他サイトに繋がるリンクを作成したいと思っています。 XPathを使用して、タグ自体は取得できたのですが、サンプルソースの「ほげほげ」部分はどうしたら、取得できるのでしょうか? XPathを使用しなくても取得できるでしょうか? また、「ほげほげ」から○○部分を取り出したいのですが、取り出したい物はページごとに違うのでどのようなコードを書けばいいか分かりません。 しかし前後の文字列は一定です。 サンプルソース <html> <body> <div><p>ほげほげ○○</p></div>  :  : ほげほげ部分は、実際はクエリにたいに「search?p=hogehoge&type=&id=○○」となっています。 説明不足でわかりにくいとは思いますが、ご教授よろしくお願いします。

  • 1レコード(1行)のいずれかの列に指定文字列が含まれるレコード件数

    EXCEL2003において、  列1,列2,列3・・・・ 行1 A,,B 行2 A,,, 行3 A,,A, 行4 B,,, ・・・・・・・・・・・・・・ 上記のように列1~3(実際は5列あります)に複数の データが入っています。 列1~5のいずれかに文字列「A」が含まれる行の件数を カウントしたいと考えています。 なお、行3のように列1、3に「A」が含まれる場合でも 1件と計上します。 上記例ですと、行1~3でそれぞれ1件ずつ計上、行4は対象外 とされて結果は計3件。 と集計できる方法について教えてください。 できればマクロは使わずに関数でと考えています。 よろしくお願いします。

  • エクセルで文字列の個数を数える

    ある範囲のエクセルデータから決まった文字列の個数をカウントする関数の使い方が判れば教えてください。 例えば、A1からH200までのデータより、”リンゴ”という文字列が何個あるかカウントしたいのですが。 COUNTIF(A1:H200,"*リンゴ*")とすると”リンゴ”という文字列が含まれるセルの個数は出たのですが、”リンゴ”という文字列が複数含まれるセルもあるので、”リンゴ”という文字列の個数とは 一致しないようなのです。 どなたか、よろしくお願いします。

  • エクセル2007で1列おきに列を選択する方法をお教えください。

    A   B   C   D   E   F 個数 金額 個数 金額 個数 金額  など項目を作成します。 1ページに表を抑える為に個数の列だけ幅を小さくしたり、金額の部分の列の幅を大きくしたりして調節したいのですが、毎回A、C、EなどCtrlキーを押しながら選択するのが大変です。 選択範囲を保存してしまえば良いのかも知れませんが、行列を削除したり編集すると大変です。  1列置きや2列置きに簡単に列や行を選択する方法がありましたらお教え下さい。 よろしくお願い致します。

  • ピボットテーブルでの複数項目の集計方法について

    お世話になります。 下記のようなデータがあります 氏名  金額  区分 あ   100   A い   110   B う   140   A え   100   C お   130   C 区分ごとの金額の合計(Aの合計金額、Bの合計金額・・・)と区分ごとの件数の数(Aの合計件数、Bの合計件数・・・)を出したく、 私は下記のような方法でピボットテーブルを作成したのですが ページエリア 区分 行エリア   氏名 データエリア   金額 データエリア   金額  (フィールドの設定でデータの個数に変更)  いちいちデータエリアに「データの個数 / 金額2  1」「データの個数 / 金額2  1」・・・とでてくるのが邪魔です。 これを消す方法はないでしょうか? 個数に関しては、全体の個数のみ下に表示されればいいのですが または、違った方法で作ったほうがいいのでしょうか? 集計機能ならば作れるのですが、データの更新ができない、ページごとにシートを分けられない・・・など不便なのでピボットテーブルでうまく出来ないかと・・・。 よろしくおねがいします。