返回列表 上一主題 發帖

range離奇問題

range離奇問題

不好意思,想問一個很離奇的問題
就是指定這個對象時
Range("A" & i * 100 + 88 & ":l100")
所呈現的範圍卻是
$A$100:$L$188

但指定這個對象
Range("A" & i * 100 + 88 & ":l1000")
所呈現的範圍又是
$A$188:$L$1000

請問問題出在哪裡?

喔喔!了解了!
所以說excel會自動將數字小得換到前方,但是所選取的範圍一樣沒有變更
是這樣嗎??

TOP

不好意思,想要再詢問一下
range這樣的寫法出了什麼問題嗎?
Range("a" & i - 1 * 100 + 88 & ":l " & i * 100 + 88).Copy j
為什麼每次執行的時候都出現1004錯誤

整組code見附件,主要是要用vba叫ie,複製貼上其內容至excel
(會這樣操作是因為該網址無法用querytable下載)
  1. Sub 擷取yahoofinanceetf()

  2. Dim j As Range
  3. Dim i As Integer
  4. Dim url As String

  5.     Cells.Clear
  6.    
  7.     Application.ScreenUpdating = False
  8.     Set ie = CreateObject("internetexplorer.application")

  9. For i = 1 To 16 '欲複製下載的網頁頁數有16頁
  10.     With ie
  11.         .Visible = False
  12.         .Navigate "http://finance.yahoo.com/etf/lists/?mod_id=mediaquotesetf&tab=tab4&scol=avgcap&stype=desc&rcnt=100&page=" & i

  13.     Do While .ReadyState <> 4
  14.         DoEvents
  15.     Loop
  16.         .ExecWB 17, 2
  17.         .ExecWB 12, 2
  18.    End With
  19.   If i = 1 Then '如果是第一頁的話從A1開始貼
  20.         Range("A1").Select
  21.         ActiveSheet.PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:= _
  22.                 False, NoHTMLFormatting:=True
  23.    
  24.     Range("a87:l187").Copy Range("a1") '因為是全頁複製故只將所需的表格複製貼上到指定位置
  25.     Range("a102:l302").Clear '除以上所需外之後的內容清除

  26. Else '如果是第二頁之後的內容
  27.      Set j = Cells(Rows.Count, "a").End(xlUp).Offset(1) '將range J指定在使用過儲存格的下一個空白儲存格
  28.       j.Select
  29.       ActiveSheet.PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:= _
  30.                 False, NoHTMLFormatting:=True
  31.    Range("a" & i - 1 * 100 + 88 & ":l " & i * 100 + 88).Copy j  '將所需的資料貼至range j
  32.    j.EntireRow.Delete '將那一行整行刪除,因為是標題列,前面已有同樣內容
  33.    Range("a" & i * 100 + 2 & ":l65536").Clear '除所需部份,其餘內容清除
  34.    Set j = Nothing '清除j的賦值,下次循環再重新定義新的range j
  35.   End If
  36. Next i

  37. ie.Quit

  38. End Sub
複製代碼

TOP

您好,謝謝你的回答,
我試過了目前改成
Range("a" & (i - 1) * 100 + 88 & ":l " & i * 100 + 88).Copy j
但還是卡在這邊無法執行耶><

TOP

已解決了!謝謝你!

TOP

        靜思自在 : 愛不是要求對方,而是要由自身的付出。
返回列表 上一主題