Excelで1つのブックから別のブックにレコードを更新する


0

別のワークブック(wb2)のレコードを使用してワークブック(wb1)を更新できるかどうかを知りたい。

シナリオ:

wb2は、別の支社から送られてきたワークブックです。すべてのインベントリが含まれています。

wb1は、本社のワークブックです。これには、本社支店のすべての在庫が含まれている必要があります。

私の問題は、wb1内に他のブランチの既存のレコードが既にあるということです。マクロまたはvbaを使用してwb2内のコンテンツを自動的にコピーし、既存のものを複製せずにwb1に貼り付けることができるかどうかを知りたいのですが。私はもう試した

Dim wb As Workbook
Set wb = Workbooks.Open("C:\myworkbook.xls")

Dim x As Variant
x = wb.Worksheets("Sheet1").Range("MyRange").Value

thisworkbook.sheets("wb1").range("MyRange").value = x

レコードが複製され、更新されていないため、スタックしています。そこで、wb1の現在のレコードを手動で削除してから、更新されたレコードをwb2に貼り付けます。手動でも。


レコードと言うとき、私たちは何について話しているのですか?DB(データベース)では、レコードは単一の行(最初、最後、電話、住所、メールなど)です。また、「レコード」を使用している場合は、一意の識別子が必要です(持っている必要があります)。それが解決策です。複数のワークブックがある場合、各ワークブックはまったく同じ方法で設定し、一意のIDを持つ必要があります。たとえば、一意のIDがない場合は作成し、一意のIDに一意のコードを組み込むことができます(TX-Houston = 2310、CA-SanDiego = 1100、CA-SanDiego-92020 = 1120など)。次に、delete duplicatesWRTの一意のIDを使用できます。
ejbytes

上記の私のコメントに代わるものはこれです。以前はこの方法を使用していました。サーバーで共有されているワークブックを使用します。Excelは、複数のユーザーが同時に使用していることを把握しており、調整を行います。
ejbytes

@ejbytes、ご回答ありがとうございます。レコードと言うときは、シート上のテーブル内のレコードについて話しています。シート自体のテーブルがデータベースとして機能するため、データベース(access、sqlなど)はありません。また、すべてのワークブックのすべてのテーブルは同じ構造(列、列名など)であり、はい、EMN(Equipment Management Number。First Column)と呼ばれる一意の識別子を1つ持っています。また、「Delete Duplicates WRT」も知りません。ごめんなさい。また、共有ワークブックは使用できません。他のブランチにはインターネット接続がありません。
ケルブス

一意の識別子に関して、Excelに重複削除機能が組み込まれています。重複のチェックが必要なデータ、[データ]タブ、[データツール]グループ、[重複の削除]を選択します。「プロシージャをマクロとして記録する」なら、既存のVBコードにそれを追加する良い方法を見つけることができると確信しています。
ejbytes

Excelはデータベースではないため、複数のワークブックを使用する必要がある場合は、かなり手作業になります。ワークシートはデータベースではなく、1つのように機能しないため、手動で保守する必要があります。MS Accessデータベースで、「ワークシート」の代わりに「テーブル」を使用するように変換することをお勧めします。:ここでは手動でExcelシートをマージする方法のリンクですlinkedin.com/pulse/...
ejbytesは
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.