返回列表 上一主題 發帖

[分享] 大盤每月每天歷史成交量與金額下載

回復 20# usana642
那是匯入外部資料, 這是開啟Excel  csv   文字檔,有些不同的
你試著開啟一 Excel  csv 文字檔,如有你說資料皆在A欄,那就可能是EXCEL的問題.

TOP

回復 21# GBKEE

我再試看看,謝謝您
stock

TOP

回復 21# GBKEE

謝謝GBKEE大大
我是用EXCEL 2000,
再請教您一個問題,我用 WEB查詢的方式,將下列網站數據存入工作表一中,當我要在工作表二,計算"最後成交價"乘上"未沖銷契約量"時,表格中的無數據符號"-",會造成錯誤
#VALUE! ,請問要如何在無數據的欄位把它當成0處裡,以方便計算
   
http://www.taifex.com.tw/chinese/3/3_2_2.asp
stock

TOP

本帖最後由 GBKEE 於 2012-10-18 17:56 編輯

回復 23# usana642
  1. Option Explicit
  2. 用 2000版 以上試試看
  3. Sub Ex()
  4.      Columns(8).Replace "-", ""
  5.      '或是
  6.      Range("H:H").Replace "-", "0"
  7. End Sub
複製代碼

TOP

回復 24# GBKEE


    謝謝您
stock

TOP

回復 24# GBKEE

請問GBKEE大大

我在"計算"工作表的兩個欄位 "call-oi$" "put-oi$",要完成上述問題的數據計算,請問要如何修正?謝謝您的協助

TEST.zip (99.9 KB)

stock

TOP

回復 26# usana642
試試看
  1. Option Explicit
  2. Sub Ex()
  3.     With ActiveSheet
  4.         .Cells.Clear
  5.         With .QueryTables.Add("URL;http://www.taifex.com.tw/chinese/3/3_2_2.asp", ActiveSheet.[A1])
  6.             .WebFormatting = xlWebFormattingNone
  7.             .Refresh BackgroundQuery:=False
  8.             ActiveSheet.Names(.Name).Delete
  9.         End With
  10.         .Range("E:G,I:L,N:Q").Delete                                    '刪除多餘的欄
  11.         .Range("1:6,8:8").Delete                                        '刪除多餘的列
  12.         .Range("B1").End(xlDown).Offset(1).Resize(2).EntireRow.Delete   '刪除多餘的列
  13.         .Range("A:A").Insert                                            '插入一欄
  14.         .[B1].Resize(, 12) = Array("契約", "月份", "履約價", "買賣權", "成交價", "未平倉量", "CALL", "=C2", "call-oi", "put-oi", "call-oi$", "put-oi$")
  15.         '**  "=C2" 可修改為 正確的參照  ***
  16.         With .Range("b2", .[b2].End(xlDown))
  17.             .Offset(, -1) = "=rc4 +rc8 + rc9"
  18.             .Columns(5).Replace "-", ""
  19.             .Columns(7) = "=IF(rc[-3]=""Call"",1,0)"    'R1C1表示法 : 工作表上腧入公式
  20.             .Columns(8) = "=IF(rc[-6]=r1c9,1,8)"
  21.             .Columns(9) = "=IF(rc[-2]=1,rc[-3],0)"
  22.             .Columns(10) = "=IF(rc[-3]=0,rc[-4],0)"
  23.             .Columns(11) = "=if(rc[-1]=0,rc[-6]*rc[-5],"""")"
  24.             .Columns(12) = "=if(rc[-2]<>0,rc[-7]*rc[-6],"""")"
  25.         End With
  26.         .UsedRange.Value = .UsedRange.Value             '消除公式
  27.         .Columns.AutoFit
  28.     End With
  29. End Sub
複製代碼

TOP

回復 27# GBKEE


   可以正常執行了
非常感謝GBKEE大大的熱心協助,謝謝您
stock

TOP

回復 27# GBKEE

GBKEE大大真抱歉
我自己新增加一些東西,還有以下問題
1.可否在''計算''的工作表中第278列加上加總的計算?這一列是否會隨資料源每月變動而變動?
2.在''計算''的工作表中已加上"更新"這個按鈕來控制更新,按下後,資料進來,但是按鈕不見了?

請問要如何修正?謝謝您撥空指導,謝謝...

TEST2.zip (34.86 KB)

stock

TOP

本帖最後由 GBKEE 於 2012-10-19 12:58 編輯

回復 29# usana642
但是按鈕不見了?




27# 加入程式碼
  1. With .Range("b2", .[b2].End(xlDown))
  2.             .Offset(, -1) = "=rc4 +rc8 + rc9"
  3.             .Columns(5).Replace "-", ""
  4.             .Columns(7) = "=IF(rc[-3]=""Call"",1,0)"    'R1C1表示法 : 工作表上腧入公式
  5.             .Columns(8) = "=IF(rc[-6]=r1c9,1,8)"
  6.             .Columns(9) = "=IF(rc[-2]=1,rc[-3],0)"
  7.             .Columns(10) = "=IF(rc[-3]=0,rc[-4],0)"
  8.             .Columns(11) = "=if(rc[-1]=0,rc[-6]*rc[-5],"""")"
  9.             .Columns(12) = "=if(rc[-2]<>0,rc[-7]*rc[-6],"""")"
  10.              With .Cells(.Rows.Count + 1, 1) '.Rows.Count + 1 範圍內資料總列數+1
  11.                 .Cells(1, 0) = "小計"
  12.                 .Cells(1, 6) = Application.Sum(.Parent.Columns(6))
  13.                 .Cells(1, 9) = Application.Sum(.Parent.Columns(9))
  14.                 .Cells(1, 10) = Application.Sum(.Parent.Columns(10))
  15.                 .Cells(1, 11) = Application.Sum(.Parent.Columns(11))
  16.                 .Cells(1, 12) = Application.Sum(.Parent.Columns(12))
  17.             End With
  18.         End With
複製代碼

TOP

        靜思自在 : 人要自愛,才能愛普天下的人。
返回列表 上一主題