Excel 使用公式复制范围内具有特定值的单元格
我正在尝试导入并维护一个excel列表,其中列出了我的梦幻联赛中所有被录取的梦幻足球运动员以及他们每周的平均分数。我可以以每页25名玩家的价格从雅虎获得这些信息,因此我设置了一个excel工作簿,每页都有25名玩家(总共10页)将一个Web链接导入excel 我的想法是,每周我都可以简单地将所有页面刷新到excel中,然后在同一工作簿中创建另一张工作表,该工作表将遍历所有工作表,并将其放入一个很好的列表中,我可以对其进行操作和使用。基本上是:Excel 使用公式复制范围内具有特定值的单元格,excel,excel-formula,Excel,Excel Formula,我正在尝试导入并维护一个excel列表,其中列出了我的梦幻联赛中所有被录取的梦幻足球运动员以及他们每周的平均分数。我可以以每页25名玩家的价格从雅虎获得这些信息,因此我设置了一个excel工作簿,每页都有25名玩家(总共10页)将一个Web链接导入excel 我的想法是,每周我都可以简单地将所有页面刷新到excel中,然后在同一工作簿中创建另一张工作表,该工作表将遍历所有工作表,并将其放入一个很好的列表中,我可以对其进行操作和使用。基本上是: Player Name | Position | T
Player Name | Position | Team Name | AVG PTS
不幸的是,导入的信息是一个小变量,因此我不能专门引用绝对单元格。这是因为球员之间可能有或可能没有一个额外的行与他们的受伤状态
我所知道的是,玩家的名字在b列,从B160范围开始,到B250的最大值结束。b列中每个玩家的名字都可以用ctrl+f来分隔“-”
我要做的是在工作簿中的单独工作表上设置一个公式,该公式将:
如果您只有几张工作表,一个简单的方法是筛选列,然后在筛选搜索中键入“-”(不带引号)。这适用于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