2012-03-02 56 views
0

我在Excel文件中有5個工作表。在這5箇中,一個是主表單,它具有我想要複製到其他4張表單的所有數據。 所有表都有一個共同的列,ID。主人有超過10000個ID。將列從一個Excel表複製到另一個具有不同格式的列

我想要做的是:

如果ID在主片Sheet 1中= 24356 = ID然後從主片複製X,Y,Z的列到Sheet。這對所有其他工作表都是一樣的。

另外,由於主紙張來自其他紙張以外的其他來源,因此其格式不同。有沒有辦法在運行復制/粘貼之前刪除表單中的所有格式?

任何人都可以請告訴我這個VBA代碼。

這是我的原材的樣子: enter image description here 我想另一片(如表Sheet1)在這種情況下看起來像: enter image description here

是否有可能做到這一點沒有在輸入查找公式每個細胞?

回答

0

如果我的理解正確,我不認爲你實際上需要使用這個宏。 比方說,你MasterSheet是一樣的東西:

enter image description here

和您的各種片材具有A列中的ID:

enter image description here

你可以把這個在B1:

=IF(ISNA(VLOOKUP($A1,MasterSheet!$A:$D,2,FALSE)),"",VLOOKUP($A1,MasterSheet!$A:$D,2,FALSE)) 

然後簡單地爲每個其他列增加VLOOKUP的返回列:

=IF(ISNA(VLOOKUP($A1,MasterSheet!$A:$D,**3**,FALSE)),"",VLOOKUP($A1,MasterSheet!$A:$D,**3**,FALSE)) 

結果:

enter image description here

你或許應該使用更好/更快的公式查找,看是否存在(如匹配)的ID ...

希望這有助於。

乾杯,

ISO

+0

@各向同性:非常感謝。這工作得很好。我唯一的問題是我們在Excel表中有很多ID,並且這些ID每個月都在不斷增加。你能不能在每個單元格中添加宏,因爲那裏有許多列,所以你可以向我建議一些具有滲透性的解決方案。另外,由於主表來自不同的sourec,所以其格式總是混亂的。有沒有辦法從所有工作表中刪除所有格式(例如將所有變量格式化爲數字等)。我將非常感謝您的回覆。謝謝 – Nupur 2012-03-02 19:44:42

+0

您可以嘗試用列()替換增量:= IF(ISNA(VLOOKUP($ A1,MasterSheet!$ A:$ D,COLUMN(),FALSE)),「」,VLOOKUP($ A1,MasterSheet!$ A:$ D,COLUMN(),FALSE))或類似的東西()+和增量......這樣,你應該能夠應用它的全線。至於值/ ID的數量,你不應該有問題,因爲它總是會查看整個列(沒有定義特定的行範圍)。如果你能向我們展示一個樣本文件 – isotrope 2012-03-02 19:50:26

+0

@ Isotrope,這將有所幫助:謝謝!我在上面的問題中有一個例子。由於我不想將主表中的所有列複製到其他表中,因此公式不會讓我跳過列。有沒有辦法做到這一點,而不是在所有單元格中添加公式,只複製我想要的列而不是全部。 – Nupur 2012-03-04 21:30:38

相關問題