[英]Copying Cells with a Specific Value in a Range using a Formula
我正在嘗試導入並維護一份我的幻想聯盟中所有已采取的幻想足球運動員及其每周平均得分的列表,並且要優於他們。 我可以每頁25個播放器的方式從yahoo獲得此信息,因此我已經建立了一個excel工作簿,每個頁面都將一個具有25個播放器的網絡鏈接導入excel(共10頁)
我的想法是,每周我都可以簡單地將所有頁面刷新到excel,然后在同一工作簿中有另一個工作表瀏覽所有工作表,並將它們放入一個不錯的列表中,以便我操作和使用。 本質上是:
Player Name | Position | Team Name | AVG PTS
不幸的是,導入的信息是一個很小的變量,因此我無法具體引用絕對單元格。 這是因為球員之間的受傷狀態可能會或可能不會額外發生。
我所知道的是,玩家名稱在b列中,開始於B160范圍,結束於最大B250。 b列中每個玩家的名字都可以使用ctrl + f分隔“-”
我想做的是在工作簿的另一張紙上設置一個公式,該公式將:
我不確定公式是否可以實現這一目標,而且我在這里查看其他帖子也沒有運氣。
這是我使用google docs所做操作的截短版本的鏈接(我覺得人們下載一些隨機的excel文件會很有趣:
https://docs.google.com/spreadsheet/ccc?key=0AvLwUKmn33T6dHhGcEVwWC1KdXpMblJoRGJzMlNWWlE&usp=sharing
如果只有幾張紙,一種簡單的方法是過濾該列,然后在過濾器搜索中鍵入“-”(不帶引號)。 適用於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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.