返回列表 上一主題 發帖

判斷式

參考看看...
用關鍵字,找尋所在的列位
Dim j As Integer
j = Columns("A").Find("Print", lookat:=xlPart).Row     '裡面的Print是要搜尋的關鍵字

TOP

一樣的方式,不過我沒研究網站抓下的格式,其餘的語法你再改變測試看看

例如要找選手1的資料,先找Prize Money,往下一列找到最後一欄

Dim j As Integer
Dim k As Integer
j = Cells.Find("Prize Money", lookat:=xlPart).Row     '找 Prize Money 列位
k = Cells(j + 1, 256).End(xlToLeft).Column                   '在Prize Money下一列,回傳最後一欄

TOP

我看不太懂你給的問題.

這麼說吧,如果你是人工作業,你會怎麼抓對應的資料?
會找那些關鍵字?

TOP

底下紅色字體是我增加的,其餘我是copy你的程式沒做修改

Sub 巨集2()

On Error Resume Next   '表示當一個執行階段錯誤產生時,程式控制立刻到發生錯誤陳述式接下去的陳述式,而繼續執行下去
Dim myrng As Range
Dim myhyps As Hyperlinks
Dim myhyp As Hyperlink


Dim j As Integer
Dim k As Integer


'從網頁擷取資料
For n = 1 To 1
Sheets("擷取資料").Select
Cells.Select
    Selection.ClearContents
    Range("A1").Select
    '取出網頁路徑
    Set myrng = Sheets("選手網址").Cells(n + 1, 1)
    With myrng
    Set myhyps = .Hyperlinks
    Set myhyp = myhyps(1)
   
    End With

    'myhyp.Address變數可以直接用網址取代

    With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;" & myhyp.Address _
        , Destination:=Range("$A$1"))
        .Name = "Novak-Djokovic_1"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlEntirePage
        .WebFormatting = xlWebFormattingNone
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
    End With
   

   j = Cells.Find("Prize Money", lookat:=xlPart).Row     '找 Prize Money 列位
    MsgBox Cells(j + 1, 6)      '如果資料固定在第六欄,就只需要上面那行和此行程式
   
    'k = Cells(j + 1, 256).End(xlToLeft).Column   '在Prize Money下一列,回傳最後一欄...如果資料不固定在第六欄,才需要改為此行程式

   
Next n
   
End Sub

TOP

回復  jackdream


    選手一的"PRIZE MONEY"那一欄是 2014  current的
    選手二的"PRIZE MONEY"那一欄是 career high的
    兩個是不一樣的,請問我該如何撰寫讓他判斷?.
518587 發表於 2014-11-17 17:09



    問題在於,什麼情況下要使用2014  current ,又什麼情況下改使用career high ?

TOP

選手一有2014  current 、career high
    選手二沒有,只有career high
518587 發表於 2014-11-17 17:46


意思是...
如果有2014  current,就使用2014  current當作PRIZE MONEY,
如果沒有2014  current,就使用career high當作PRIZE MONEY

但,這樣的判斷方式,不論是選手一或二,
答案都在PRIZE MONEY下一列的最後一格資料,
不是嗎?

跟昨天給的語法,找到的結果相同
http://forum.twbts.com/redirect.php?goto=findpost&ptid=12801&pid=72209&fromuid=12

TOP

        靜思自在 : 太陽光大、父母恩大、君子量大,小人氣大。
返回列表 上一主題