問題タブ [listobject]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
vba - VBA - 一連のワークシートですべての ListObject をループする
テーブルの条件付き書式設定マクロ (Jeeped に感謝) があり、これを拡張して、さまざまなワークシートのすべてのテーブルをループ処理したいと考えています。これは最も効率的なアプローチではないと思いますが、一緒に石畳にできる最善の方法であり、それでも機能していません。これまでのところ、私は以下の2点で立ち往生しています。どんな支援も大歓迎です!
1) ws を複数のワークシート コードネームに等しく設定する (例: Set ws = Worksheets(5,6,7)
)
2) 実行時エラーなしで範囲を設定すると、Set myRange = ws.ListObjects.DataBodyRange
「実行時エラー '438': オブジェクトはこのプロパティまたはメソッドをサポートしていません」が生成されます。
現在のコードは次のとおりです。
vba - byref を使用した型の不一致
次のコードは、コンパイル時エラー メッセージ「型の不一致」を作成します。
また試しました:
また:
この JustAdd サブルーチンを機能させるには、正しい方向にすばやく微調整する必要があります
excel - ListRows.Add() は、リストがフィルター処理されるとエラーになります
Worksheet_Change イベントから呼び出される次のコード (Excel 2007 以降の場合) があります。
基本的に、ユーザーが Excel テーブルで特定の変更を行うと、現在の行の下に新しい行が作成され、データのコピーが作成され、2 つの ID フィールドが両方の行を相互参照するため、それらが関連していることがわかります。
これは正常に動作しますが、リストがフィルター処理されてイベントが発生すると、ListRows.Add で次のエラーが発生します。
Run-time error 1004: cannot shift cells in a filtered range or table
エラーを理解しました。最初にフィルターを削除して回避できると思います。しかし、それはユーザーにとって失礼であり、後でフィルターをやり直すことを強制します (これは複雑になる可能性があります)。
この問題に対するエレガントな解決策は何でしょうか? どうにかして新しい行を作成し、フィルターを保持する (または自動的に元に戻す) ことはできますか?
vba - 列Bのパラメータを使用してListObject VBAの列Aの行をソートする方法
データベースから Listobject マクロを介して入力された Excel のテーブルがあります。
次のコードを使用してテーブルを並べ替えることができます。
「ステータス」には、1から100の範囲の複数の整数値があります。私がしたいのは、ステータスと別の列に基づいて行をソートすることです。私が遭遇する問題は、並べ替える「2番目の列」がステータスごとに異なることです。
私が作成したいのは、さまざまな日付列がステータスごとに降順でソートされる「ガント」のようなテーブルです。例: (DD-MM-YYYY)
など これは可能ですか?
vba - Excel 2010、VBA、および ListObjects の小計がテーブルの変更で更新されない
したがって、この構造を持つ (A1 から開始 - スニペットを表示 > 実行):
ListObject でその範囲 (A1:D6) を変換するコードをスクリプト化し、4 つの新しい列と小計を追加しました。
ここで、新しい列の任意のセルに移動していくつかの数字を書き込むと、TOTAL (小計) が更新されないという奇妙なことがあります。ただし、ファイルを保存して再度開くと機能し、合計が更新されます。私は何が欠けていますか?
TotalCalculation の後に ShowTotals を移動しようとしましたが、動作は同じままです。
シートをゼロから再構築し、前のコードでスタイルを適用した後に、列 b、c、および d の小計にこのコードを追加するとします。
b、c、d の小計は機能していますが、Tot1、Tot2 などは機能していないことに気付きました。
唯一の回避策は、それを作成するための参照を使用して ListObject を追加する前に、生のテーブルを作成することです。誰もがより良い解決策を知っていますか?
前もって感謝します :)
arrays - テーブルの列をループし、配列変数に最大値または最小値を格納します
VBA を使用して Excel のテーブルをループ処理し、各列の最大値を配列変数に格納して、後でプログラムで使用できるようにしようとしています。
以下のコード スニペットに似た多くのアプローチを試みましたが、成功しませんでした。参考までに:mainTable
は、スクリプトで以前に定義された Public ListObject 変数であり、同じく以前に定義された Public mainCols
Long 変数であり、次の幅を格納しますmainTable
:
上記のコードはエラーなしで実行されますが、常に戻ります0
ユーザーがさまざまな次元のデータセットをコピーして貼り付け、エラーなしでスクリプトを実行できるように、列/テーブルの場所をハードコーディングしないことが重要です。また、ユーザーが必要な列ヘッダーを持つデータセットでこれを実行できると仮定します。