問題タブ [excel-tables]
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.
excel - VBA listobject は行を追加しません
私はいくつかのシートを持つ wb を持っており、それぞれに 2 つのテーブル (listobjects) があります。ユーザーがテーブルから行を追加、編集、削除できるユーザーフォームもあります。これらのテーブルは静的であり、常に存在し、削除されることはなく、同じ場所にあり、移動することはありません。また、これらのオブジェクトをさまざまな方法 (インデックスまたは名前) で参照して、違いがあるかどうかを確認しました。
ユーザーが任意のテーブルに対して追加、編集、または削除を行うと、1004 ランタイム エラーが発生することがあります。オブジェクトが存在するという事実を知っているので、理由はわかりません。エラーの後、Excel は混乱しているようで、完了した作業を保存せずにシャットダウンします。以下のコードでは、でエラーが発生しtbl.ListRows.Add AlwaysInsert:=True
、他の多くの人がそれを気に入っています。
Excelがそれらのオブジェクトがそこにあることを忘れたり、テーブルにいくつのレコードがあるかさえ忘れたりする状況があることを読みました。
Excelがこれを行う理由について答えが得られるかどうかはわかりません...
私の質問は、このエラーを効果的にトラップし、Excel がシャットダウンしないようにリセットする方法です。
excel - テーブルに関連付けられた値に基づいてワークシートの行を削除する
列 B から始まる 2 つのテーブルを含むワークシートがあります。列 AI には、空白行の削除ボタンに関連付けられた COUNTA 式があります。私のコードはテーブルの行を削除するのにうまく機能しますが、ワークシートの行全体を削除して、行が追加または削除されるたびに連続的にシフトダウンするのではなく、列 A の数式も削除する必要があります。
問題は、シートに 2 つのテーブルがあるため、削除行アクションで Local_1 テーブルのみを参照し、そのテーブルの最後に達したときにループを停止する必要があることです。
テーブルの行だけでなく、行全体を削除する方法について何か提案はありますか?
excel-tables - 2 つの日付間のデータを Excel テーブルから別の Excel テーブルに抽出する
シナリオ: Excel に共通の列「日付」を持つ 2 つの名前付きテーブルがあります。
- 「マンスリーシート[日付]」
- "WorkShiftAll[日付]"
サンプル データセットを見てみましょう。
WorkShiftAll[date]
2 つの異なる名前付きセルに定義された 2 つの日付の間にあるからすべてのレコードを動的にインデックス付けしようとしています:PayPeriodStartDate
とPayPeriodEndDate
、次のMonthlySheet[date]
数式を使用して (Shift + Ctrl + Enter):
ここで、はテーブルC10
内の最初の空白です。MonthlySheet
そして(SUMPRODUCT((WorkShiftAll[date]>=PayPeriodStartDate)*(WorkShiftAll[date]<=PayPeriodEndDate)))
、基準を満たすレコードの数をカウントするために使用した数式です (2 つの日付の間にある)。
問題: データセットに記録されているため、10 月の 2 つのレコードが正常にリストされますが、SMALL (最初のレコード) が 2 回繰り返されます! 10 月 26 日金曜日と 10 月 29 日ではありません。
INDEX をアドレス指定する列の代わりに範囲を使用すると、機能します!! 私が使用する場合のように:
INDEX(**WorkShifts!A2:A14**,SMALL(IF((WorkShiftAll[date]>=PayPeriodStartDate)
... 動作し、10 月 26 日と 29 日の 2 つのレコードが表示されます。しかし、範囲を動的にする必要があるため、テーブルを使用したいと考えています。範囲に変換する必要がありますか?他に方法はありませんか?