2016-09-18 41 views
0

我一直在網上搜索幾個小時,並且無法回答我的問題,所以我想我會在這裏嘗試,希望有人能指引我走向正確的方向。這是我想要實現的:...自動從一個下拉列表中填充多行

我正在爲我的當地飛鏢聯盟製作一個自我計算的分數表。除了團隊數據外,該表格已經完成。

實施例: 我在細胞A4其中包含在我的部門

列表被通過數據驗證填充從另一片上的8個隊的下拉列表。該另一張表還包含8列(每隊1個),其中包含該球隊球員的姓名。每列都是爲團隊命名的。

我希望能夠在A4以從列表中選擇一個團隊,並自動擁有他們的球員插入到細胞A24A36

如果任何人有任何想法如何做到這一點或知道一個教程,讓我開始,這將不勝感激。

感謝所有回覆的人。

我需要在上述說明的修正......我應該意識到之前後的錯誤......我道歉

  1. 的下拉式選單,在單元格A5主隊和K5的客場球隊
  2. 球隊內容在名爲'球隊'的第二張牌上
  3. 球員內容位於名爲'球員'的球員名單上,球隊名稱作爲第一排中的球員頭球。

我附上了手動填寫的工作表副本,以顯示我想要做什麼,根據在下拉列表中選擇的團隊填充第A列和第I列中的第58至69行。

我正在用這個拉我的頭髮。

再次感謝。 Download Worksheet from Dropbox

+0

我覺得即使沒有VBA,你也可以做到這一點。檢查VLOOKUP/HLOOKUP電子表格功能。 – FDavidov

+0

我擡起頭,但仍然無法弄清楚... – user2037250

回答

0

實際數據結構的OP的編輯

發生在「主」工作表的代碼窗格下面的代碼後編輯(即在其細胞「A5」和「K5」是一個有下拉列表:

Option Explicit 

Private Sub Worksheet_Change(ByVal Target As Range) 
    If Target.Address(False, False) <> "A5" And Target.Address(False, False) <> "K5" Then Exit Sub '<-- exit if changed cell is not "A4" 

    With Range("A58:A69").Offset(, IIf(Not Intersect(Target, Columns("K")) Is Nothing, 8, 0)) '<--| reference range you want to write result corresponding to validation cell choice (offset 8 columns if target is "K5") 
     On Error GoTo ExitSub '<-- properly handel possible errors and be sure to restore events handling you're going to disable next line 
     Application.EnableEvents = False '<--| disable events handling not to have this sub got called in an infinite recursive loop 
     .Value = Worksheets("Players").Rows(1).Find(what:=Target.Value, LookIn:=xlValues, lookat:=xlWhole).Offset(1).Resize(.Rows.Count).Value '<--| write in referenced range the content of Player worksheet range in rows 2 to 12 in column whose header in row 1 matches target value 
    End With 
ExitSub: 
    Application.EnableEvents = True '<-- restore event handling 

End Sub 

工作表的代碼窗格可以訪問如下:

  • 打開VBA編輯器(ALT + F11而在Excel UI)

  • 開放的項目經理(CTRL + R)窗口

  • 在項目管理器窗口

    展開 「Microsoft Excel中的對象」 節點

  • 雙擊對應於「主」工作表中的樹項目

  • 工作表代碼窗格比可在左

  • 複製上面的代碼,並將其粘貼到代碼窗格

+0

VBA超越了我......我必須先學習VBA,然後才能理解這裏發生了什麼...... – user2037250

+0

如何上傳副本實際工作表的?也許它會更容易看到我正在嘗試做什麼...我至多是一個基本的Excel用戶... – user2037250

+0

請參閱[幫助](http://stackoverflow.com/help/how-to-ask)for如何改善你的問題。在那裏你會發現如何鏈接截圖或其他東西 – user3598756

0

我想感謝大家的親切協助。這讓我想到了選擇......當我終於找到一個非常簡單的答案時,我從椅子上掉下來了!

它就像一個魅力!

= INDEX(玩家$ A:$ H,ROWS($ A $ 1:$ A2),MATCH(A $ 5中,玩家$ A $ 1:$ H $ 1日))

還有一些小問題需要解決,但它可以完成工作!

再次感謝大家!