2013-10-04 31 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 
相关问题