web-dev-qa-db-ja.com

Excel-データファイルから新しい行を含めるために範囲を動的に拡張しますか?

インポートしたCSVデータファイルからグラフを作成するスプレッドシートがあります。 CSVはSheet1にインポートされます。 Sheet2は、CSVデータをSheet3にあるグラフのデータ系列にフォーマットします。グラフは動的であり、新しいデータ行がシート2に追加されると更新されます。

新しいデータをインポートするときはいつでも、Sheet1の新しいレコードをカウントしてから、シート2の数式を必要な行数にコピーして、グラフを更新する必要があります。

これを自動化したい。数式を空白行にコピーしようとしましたが、グラフを壊すエラーが返されます。また、シート2のデータをテーブルに変換してみましたが、自動拡張されることを期待していますが、それは起こりません。

Sheet1の最後の行をチェックし、Sheet 2の数式をその行数にコピーするために、VBAを少し手に入れることができます。

それを試す前に、Excelに組み込まれていて、ソースデータが拡張されているかどうかをテーブルでチェックし、それに合わせて自動的に拡張するより良い方法はありますか?

ありがとう!

1
Flippertie

@MarkFitzgeraldからの提案から始めて解決

インポートしたCSVデータとグラフデータ範囲の列がすべて同じシートになるようにスプレッドシートを再構築しました。

数式を動的に更新するには:

  • データをテーブルの一部ではなく通常のセルとして保持する
  • インポートされたデータの横にヘルパー列を追加します(間に空白の列はありません)
  • 最初のデータインポート後、インポートされた範囲内の任意のセルを選択します。 [データ]タブで、[接続とプロパティ]に移動します(インポートされたセルを選択するまで、これはグレー表示されます)。
  • ここに「隣接するセルの数式を入力する」チェックボックスがありますN.Bこれはそうではありません
    最初にデータ接続を定義したときに使用できます。

その後、最後の行の数式が新しいデータ行用にコピーされ、データのインポートが縮小した場合は削除されます。

2
Flippertie