2

私はCOMアドインに取り組んでいますが、これをVBまたはVBAで解決できれば幸いです。データベースからの選択に基づいて生成されたユーザーレポートがあり、シートが既存のシートに追加されます。同じ基本フォーマットを維持し、Excelに残す必要があると言われました。問題は、フォーム内のこれらのリストが、スペースよりもはるかに長い長さになる可能性があることです。

現在のフォームは次のようになります。 3つのテーブル

解決策についての私の考えは、合計を理論上の最大アイテム(DBからのオプションの合計数に加えて50程度)に落とし、次にスクロールバー付きの中央のスクロールを作成することでした。

各テーブルのみをスクロールする3つの別々のスクロールバーを作成する方法はありますか(これらの上にスクロールしないものがあります)?シート全体をスクロールするスクロールバーしか見たことがありません。

より良いアプローチはありますか?

インデックス機能を使おうと思ったのですが、エンドユーザーがスクロールしながら情報を編集できるようにしたいと思います(この場合はインデックスが上書きされます)。

考え?

4

1 に答える 1

2

別のシートまたはこれらのテーブルの下にデータを保存します。

OFFSET行方向の各テーブルの特定のセルの値に基づく関数を使用して、このデータを参照します。

前の手順の特定のセルにリンクする各テーブルの横にスクロール バー (ActiveX またはフォーム) を配置します。

特定のセルを非表示にします。データを含むシート/行を非表示にします。

フォームのスクロールバーを使用すると、その値をセルに簡単にリンクできますが、その最小値と最大値、およびセット内のレコード数 (テーブルに表示されるレコード数を差し引いたもの) にリンクすることはできません。 . ActiveX コントロールを使用すると、同じ話のように見えます。いくつかのコードを使用して最小プロパティと最大プロパティを設定する必要があります。その場合、VBA とのやり取りがはるかに簡単なため、常に ActiveX コントロールを好みます (imho)。

于 2013-03-20T15:57:11.213 に答える