2013-10-04 35 views
0

我想在我的幻想聯盟中的所有幻想足球運動員和他們的平均每週點數中導入和維護一個excel列表。我可以從雅虎每頁25個玩家處獲得這些信息,所以我已經爲每個頁面設置了一個excel工作簿,每個頁面導入一個鏈接到25個球員的excel中(共10頁)使用公式在特定範圍內複製具有特定值的單元格

這個想法是,每個星期我都可以將所有頁面刷新到excel中,然後在同一個工作簿中放入另一張工作表,並將它們放入一個我可以操作和使用的好列表中。它基本上是:

Player Name | Position | Team Name | AVG PTS 

不幸的是,導入的信息有點可變,所以我不能具體引用絕對單元格。這是因爲在受傷狀態的球員之間可能會或可能沒有額外的一排。

我所知道的是玩家的名字在b列中,從B160開始到B250結束。 「 - 」每個球員在B列的名字可以按Ctrl + F爲被隔離

我想要做的是建立在一個單獨的表在工作簿中的公式是什麼,以便:

  1. 搜索這範圍與導入數據的工作表,
  2. 找到的所有字符串一個「 - 」在此範圍內
  3. 複製/返回小區,並沒有別的

的滿弦我不知道這是否是可能與af ormula,我沒有運氣看這裏的其他職位。

這裏是什麼我使用谷歌文檔(我覺得做這樣的人會覺得好笑下載一些隨機excel文件截斷版本的鏈接:

https://docs.google.com/spreadsheet/ccc?key=0AvLwUKmn33T6dHhGcEVwWC1KdXpMblJoRGJzMlNWWlE&usp=sharing

回答

0

一個簡單的方法,如果你只是有幾張紙,是過濾列,然後在過濾器搜索中輸入「 - 」(不帶引號)。這適用於2007+。將可見單元格複製並粘貼到主工作簿。

您可以也使用VBA來做到這一點:

Dim sMain As String 
Dim sImported As String, lLen As Long 
Dim sStart As String 
sMain = "ALL TAKEN PLAYERS AVG" 'name of your main sheet 
sMainCol = "A" 'column your player names will go in 
sImported = "Imported Data " 'string that player sheets start with 
lLen = Len(sImported) 
sStart = "B160" 'starting cell for imported data 

Dim ws As Worksheet 
Dim rPlayers As Range, cell As Range 
Dim counter As Long 

counter = 5 'starting row to fill out players 

For Each ws In Worksheets 
    If Left(ws.Name, lLen) = sImported Then 
     ws.Activate 
     Set rPlayers = Range(Range(sStart), Range(sStart).End(xlDown)) 
     For Each cell In rPlayers 
      If InStr(1, cell.Value, " - ") > 0 Then 
       Sheets(sMain).Range(sMainCol & counter).Value = cell.Value 
       counter = counter + 1 
      End If 
     Next cell 
    End If 
Next ws 
相關問題