返回列表 上一主題 發帖

自選股數量更改時程式便有問題

自選股數量更改時程式便有問題

請問各位大大:
當我的股票代碼數量有變更時
在程式
If Cells(i, 5) <> "" Then  
這個地方經常會卡住
要不然就是A欄會自動往上移一格
請問程式哪邊有問題

謝謝

股票股票.rar (124.52 KB)

michael

回復 1# chairles59
  1. lR = Range("A2").End(xlDown).Row  'a欄空白以下全刪除
  2. Rows(lR + 1 & ":400").Clear
  3. Selection.Delete shift:=xlUp
複製代碼

結論是將 Selection.Delete shift:=xlUp
將它 Remark 起來,既已清除下面內容,
何須再 Delete shift:=xlUp,何況你的
Selection 是指 Sheet1 而非
Rows(lR + 1 & ":400")。
  1. lR = Range("A2").End(xlDown).Row  'a欄空白以下全刪除
  2. Rows(lR + 1 & ":400").Clear
  3. '  Selection.Delete shift:=xlUp
複製代碼

TOP

回復 1# chairles59

TOP

回復 1# chairles59
除了 c_c_lai 提供不要 'Selection.Delete shift:=xlUp

   
當我的股票代碼數量有變更時
在程式
If Cells(i, 5) <> "" Then  
這個地方經常會卡住

當 Cells(i, 5)="" 時不查詢資料
所查詢的資料依i 的迴圈存放,似乎不當.
  1. lR = Range("A2").End(xlDown).Row  'a欄空白以下全刪除
  2. Rows(lR + 1 & ":400").Clear 'Selection.Delete shift:=xlUp
  3. lra = Range("c2").End(xlDown).Row  '買進日期最後一欄
  4. For i = 3 To lra
  5.     If Cells(i, 5) <> "" Then          '有股票數輸入才再搜尋
  6.         Valuesno = "$A$" & i
  7.         Linkss = "URL;https://tw.stock.yahoo.com/q/q?s=" & Cells(i, 1)  'linkss字串
  8.         po = lR + 3 + (8 * x)  '定抓取資料表格迴圈在第16列開始放入資料
  9.         x = x + 1     '****'排除不查詢資料的次數****
  10.         With ActiveSheet.QueryTables.Add(Connection:=Linkss, Destination:=ActiveSheet.Range("b" & po))
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

謝謝兩位大大熱心的解說
因為我是新手
需慢慢地消化
michael

TOP

謝謝兩位大大
經過測試完全沒有問題

只是對   
    po = lR + 3 + (8 * x)  '定抓取資料表格迴圈在第16列開始放入資料

        x = x + 1     '****'排除不查詢資料的次數****
這個不是很懂
michael

TOP

        靜思自在 : 甘願做、歡喜受。
返回列表 上一主題