2017-08-28 132 views
0

我很抱歉作爲新手,因爲我對這個概念有困難。我真的不知道從哪裏開始。宏excel:粘貼值並更新2個單元格

我只需要使用「更新按鈕」做到以下幾點在Sheet2的代碼:

在Sheet1中,該信息將來自不同團隊領導的重複,甚至一式三份的例子中顯示的記錄「座位號。 1.2'會發生。

Sheet 2中,下「座位編號」時,這是不變的,並且將不會改變(作爲我的用於我的另一樞轉和查找的代碼參考)

Sheet 2中的列,下「用戶1」,代碼將粘貼檢測到的第一個值;在'User2'下,代碼將粘貼檢測到的第二個值;在取消分配時,代碼將粘貼檢測到的第三個值

在狀態下的sheet2列中,如果只有1個用戶,則會顯示Solo,如果有2個用戶,則顯示'共享';如果沒有用戶,則顯示'空白'。

注:只有兩個用戶允許每個座位號

Simplified data for seat plan with sharing

希望你能幫助我。非常感謝你

+3

請分享您正在使用的當前代碼。 –

+0

SO不是免費的編碼服務。 「我不知道從哪裏開始」 - 開始進行研究並編寫一些代碼。然後在遇到特定問題時更新您的問題,以便我們幫助解決問題。 –

回答

0

你不需要爲此使用宏。在用戶1個列中使用此:

= IF(ISERROR(VLOOKUP(Sheet2的A2,工作表Sheet $ A $ 2:!!$ B $ 50,2,0)), 「」,VLOOKUP(Sheet 2中A2,Sheet 1中!$ A $ 2:$ B $ 50,2,0)),

其中50用您的行數替換。

用戶2使用這樣的:

= IF(SUMIF(Sheet 1中$ A $ 2:!!$ A $ 50 Sheet2的A2)> 1,IF(ISERROR(VLOOKUP(Sheet2的A2,OFFSET(工作表Sheet1!$ A $ 2,MATCH(Sheet2的A2,工作表Sheet1!$ A $ 2:!$ A $ 50,0)!,0,50-MATCH(Sheet2的A2,工作表Sheet1!$ A $ 2:!$ A $ 50,0),2) ,2,0)), 「」,VLOOKUP(Sheet2的A2,OFFSET(Sheet1中$ A $ 2,MATCH(Sheet2的A2,工作表Sheet1!$ A $ 2:!!!!$ A $ 50,0),0,7-MATCH(Sheet2中!A2,Sheet1!$ A $ 2:$ A $ 50,0),2),2,0)),「」)

並再次用您的行數替換50。

狀態列,使用IFSUMIF

而在取消分配列,使用類似於第一列的vlookup,但從一直到上。有很多關於它的文章。不要忘記在開始時使用,這將檢查是否有3個座位ID。

0

,除非你堅持這樣做,這並不需要VBA:

用戶1柱:

=IFERROR(IF(VLOOKUP(A2,Sheet1!$A$2:$B$9,2,0)=0,"",VLOOKUP(A2,Sheet1!$A$2:$B$9,2,0)),"")

用戶2列(數組公式,按Ctrl + Shift + Enter鍵同時) :

=IFERROR(INDEX(Sheet1!$B$2:$B$9,SMALL(IF($A2=Sheet1!$A$2:$A$9,ROW(Sheet1!$A$2:$A$9)-ROW($A$2)+1),2)),"")

狀態柱:

=IF(COUNT(B2:C2)=0,"Vacant",IF(COUNT(B2:C2)=1,"Solo","Sharing"))

取消分配柱(陣列式,按同時Ctrl + Shift + Enter鍵):

=IFERROR(INDEX(Sheet1!$B$2:$B$9,SMALL(IF($A2=Sheet1!$A$2:$A$9,ROW(Sheet1!$A$2:$A$9)-ROW($A$2)+1),3)),"")

希望這有助於。

相關問題