返回列表 上一主題 發帖

救助!執行階段錯誤 "1004",請內看 感謝了!

本帖最後由 icestormerss 於 2011-8-13 20:36 編輯

oobird 大 請問 有法子把WEB查詢內的連結一起COPY過去?
剛才的是可以運作了但變成只有純文字 WEB查詢的功能郤消失了 感謝你花時間幫我^^ 股票代碼更新.rar (7.13 KB)

我把檔案上傳  程式是可以跑也很順利不過變成純文字後 就失去WEB查詢功能了說 不知你有沒有什麼法子可以可以連同WEB 查詢功能也一起併COPY過去?

TOP

  1. Sub NN()
  2. Sheets("sheet1").UsedRange.Copy
  3. For i = 1 To 100
  4. With Sheets.Add(After:=Sheets(Sheets.Count))
  5. .Name = "w" & i
  6. ActiveSheet.Paste
  7. End With
  8. Next
  9. End Sub
複製代碼

TOP

本帖最後由 icestormerss 於 2011-8-13 21:18 編輯

回復 12# oobird


有了可以連同WEB查詢功能都COPY過去了.不過..出現1個新問題(原本另一個問題好了)


1:如果代碼是在A5輸入(輸入後按下ENTER,進行更新)
剛COPY過去的工作表雖然也有WEB查詢功能在但郤不是連結在同一工作表內的A5而是連結在SHEET1中的A5格


:收回第二個問題 ,再我存檔後重開 可以正常自動按目標格(A5)內的資料數字變動而自動更新了^^



OOBIRD大 針對第一個問題有法子嗎^^?

TOP

看不懂。如果代碼是在A5輸入(輸入後按下ENTER,進行更新)~這段程式在哪裡?你應該修改這段程式呀。

TOP

本帖最後由 icestormerss 於 2011-8-13 21:33 編輯
看不懂。如果代碼是在A5輸入(輸入後按下ENTER,進行更新)~這段程式在哪裡?你應該修改這段程式呀。
oobird 發表於 2011-8-13 21:17



這樣說好了 如果A5格 我輸入2374 正常來說 WEB查詢會自動更新(這我有設好了)
按以前我直接用COPY過去後 新的工作表上的WEB查詢連結會自動連結在新的工作表上的A5 而不是在原本(SHEET1)上的A5

換言之.以前我用COPY在複製後 二個工作表各自有各自的WEB 查詢功能
(在SHEET1上的A5輸入數字只會更新SHEET1的,在W1上的A5輸入數字也只會更新W1的)
但現在郤會變成 W1上的連結到SHEET1上的A5(當SHEET1上的A5格數字變動時二張工作表會一起更新到同一家公司上)

當然這部份可以手動改,不過WEB查詢不止一個 如果每一個COPY過去的都要一個一個WEB 查詢改它 ,就麻煩了說

不知我這樣說 會不會說不明白呢^^

我剛才試者用巨錄看能不能錄到手動點擊 [WEB查詢區]>參數上 以下列儲存格做為參數值來源
結果根本錄不到說~~

http://jinnsblog.blogspot.com/2008/10/excel-query-dynamically-update-data.html <<自動更新的WEB 查詢 我是看這裡學的

TOP

回復 15# icestormerss


昨晚花幾小時在那查看看網路資料及測試
發現真的好像都是固定次數就會出錯
複製前張數--複製中出錯的張數
2---------------105
3---------------103
4---------------102
5----------------99   
6----------------99   
7----------------98   
8----------------96   
9----------------95   
10---------------93   
另外我發現 如果用的是 :
worksheets(1).copy
就算是到了200張workbooks也不會出錯呢..

然後我就想到.不然.先用worksheets(1).copy 後再用 MOVE的方法移回來,結果錯誤換成104:MOVE 方式失敗..(大約是100張)

我在想會不會是對於在一定時間內(打開-關閉EXCEL)寫入同一workbook 內的有次數限制? 不然為什麼 用worksheets(1).copy 到200也不會出錯?

另外OOBIRD大的程式碼現在都很順利可以執行.但還是卡在同一個問題 WEB查詢的參數連結格 沒法連在自己工作表上說 不知有人有法子嗎??
(原本是想說不然就複製過去後再用程式去改他的連結.但發現(我先用巨集錄)根本錄不到,我也完全不知怎下手寫)

TOP

還是沒說到重點
如你sheet1的a5是2317,你用任何方法copy,每個新的表上都是2317,不可能改變成別的。
而你點擊a5時會自動更新,這是Worksheet_SelectionChange事件,你要貼上來別人才有可能幫你改的。

TOP

本帖最後由 icestormerss 於 2011-8-14 11:09 編輯
還是沒說到重點
如你sheet1的a5是2317,你用任何方法copy,每個新的表上都是2317,不可能改變成別的。
而 ...
oobird 發表於 2011-8-14 10:32


SORRY 忘了附檔 我再弄一次
股票代碼更新1.rar (7.79 KB) <<這是根據OOBIRD大的提供的程式碼執行的

在SHEET1的B1是參數來源格(WEB 查詢功能)
只要數字變動在右下的E8(右擊可以打開參數>以SHEET1!$B$1格為參數值來源)會整個自動更新

然而 如果是採用worksheets(1).copy after:worksheets(worksheets.count)方式
SHEET1的B1數字變動只會更新SHEET1上的E8
當W1的B1數字變動也只會更新W1上的E8

使用PASTE方式的做法 也都會有WEB查詢
只是變成W1工作表的E8也是連結到SHEET1的B1(但我需要的是連結在W1上的B1)


而且用巨集的方式沒法錄到手動改參數來源格,我也不知能不能透過VBA改寫

再次感謝你撥時間回覆^&^

TOP

Sub Macro2()
For i = 1 To 200
    Sheets("Sheet1").Copy After:=Sheets(Sheets.Count)
   ActiveSheet.Name = "w" & i
   Next
End Sub
我這樣200次也沒問題呀?

TOP

Sub Macro2()
For i = 1 To 200
    Sheets("Sheet1").Copy After:=Sheets(Sheets.Count)
   ActiveShee ...
oobird 發表於 2011-8-14 11:31



   -_-!!..難不成是我主機不夠力?怪了 我用上頭的跑法 很快就出問題了說

TOP

        靜思自在 : 稻穗結得越飽滿,越會往下垂,一個人越有成就,就要越有謙沖的胸襟。
返回列表 上一主題