Board logo

標題: 輸入股票代號,資料內容顯示於已編輯的表格內 [打印本頁]

作者: bioleon69    時間: 2016-8-28 15:52     標題: 輸入股票代號,資料內容顯示於已編輯的表格內

各位大大好~有小小問題想請教
目前還在學習VB中,希望藉由實務的修改
從中間開始研究,學習VB

目前功能:
可以在A1輸入代號查詢股利資料
並且顯示在A3

但~表格不能編輯

問題:
▲我需要編輯,想要自行設計一個表格格式
讓A3輸出的資料在我編輯好的表格格式內

▲A1輸入不是正確的股票代號時,或者空格沒輸入
能否在B1顯示"請輸入正確股票代號"

請問以上如何實現?

以下是程式代碼
  1. Private Sub CommandButton1_Click()
  2.     Dim strURL$ '宣告strURL為變數
  3.     strURL = "https://tw.stock.yahoo.com/d/s/dividend_" & [A1].Value & ".html" '定義strURL變數內容
  4.     [A3].CurrentRegion.Clear
  5.     With ActiveSheet.QueryTables.Add("url;" & strURL, Range("a3"))
  6.         .WebFormatting = xlWebFormattingNone '(NONE)不包含格式,(ALL)包含格式
  7.         .WebSelectionType = xlSpecifiedTables '指定table表格模式
  8.         .WebTables = "8" '第8個table表格
  9.         .Refresh False
  10.     End With
  11. End Sub
複製代碼
非常感謝...
作者: bioleon69    時間: 2016-9-4 20:20

[attach]25128[/attach]


附上檔案

大力頂上去
作者: GBKEE    時間: 2016-9-5 13:20

回復 3# bioleon69

▲我需要編輯,想要自行設計一個表格格式,附檔沒有你自行設計一個表格.
讓A3輸出的資料在我編輯好的表格格式內,你要如何編輯附檔沒有說明.
作者: bioleon69    時間: 2016-9-5 16:53

[attach]25144[/attach]


菜鳥我已經簡單的把表格內著色
還有用了簡單框線以及字型
主要是希望打入股票代號後
A3所呈現的資料格式是依照我以上所編輯的表格內格式


問題:

讓A3輸出的資料在我美化好的表格內



A1輸入不是正確的股票代號時,或者空格沒輸入
能否在B1顯示"請輸入正確股票代號"


請求各路大俠幫助!!!
作者: GBKEE    時間: 2016-9-6 14:49

回復 4# bioleon69

試試看
  1. Option Explicit
  2. Private Sub CommandButton1_Click()
  3.     Dim strURL$ '宣告strURL為變數
  4.     strURL = "https://tw.stock.yahoo.com/d/s/dividend_" & [A1].Value & ".html" '定義strURL變數內容
  5.     [A3].CurrentRegion = ""   '清除文字沒清除格式(美化好的表格)
  6.     With ActiveSheet.QueryTables.Add("url;" & strURL, Range("a3"))
  7.         .WebFormatting = xlWebFormattingNone '(NONE)不包含格式,(ALL)包含格式
  8.         .WebSelectionType = xlSpecifiedTables '指定table表格模式
  9.         .WebTables = "8" '第8個table表格
  10.         On Error Resume Next
  11.         .Refresh False
  12.         If Err <> 0 Then
  13.             [B1] = "請輸入正確股票代號"
  14.         Else
  15.             [B1] = ""
  16.         End If
  17.     End With
  18. End Sub
複製代碼

作者: bioleon69    時間: 2016-9-7 17:46

完全可以使用!!
GB版大非常的感謝您
真的很厲害!
回家後會好好研究您目前的函數
把它好好學起來!!


會再度來打擾您的!!哈哈!!!
祝一切順心 身體健康 財源滾滾~~
作者: bioleon69    時間: 2016-9-8 00:51

GBK大~~我又來了阿!!哈哈
已經開始在研究您的程式碼了~!!

目前又遇到2個小問題

@
A3資料呈現確實可以編輯表格內文字顏色背景等等的!這邊是OK!
但是"欄寬"部分 會跑回去
"欄寬"是否可以實現如同文字顏色背景一樣,能夠自適應?
@
在查詢失敗,B1會顯示"請輸入正確股票代號"
這部分完美!可使用!!正常運作!!
那反之,如果查詢成功了,B1格內就會"空白"
所以我想說
是否可以實現查詢成功,"B1"就顯示所輸入的股價代號以及名稱?


感謝GBK大大~~您辛苦了~~~~!!!!
作者: bioleon69    時間: 2016-9-8 00:56

[attach]25174[/attach]

附上檔案~~~~~

再次感謝大大!!!
作者: GBKEE    時間: 2016-9-9 14:28

回復 8# bioleon69
試試看
  1. Option Explicit
  2. Private Sub CommandButton1_Click()
  3.     Dim strURL$ '宣告strURL為變數
  4.     strURL = "https://tw.stock.yahoo.com/d/s/dividend_" & [A1].Value & ".html" '定義strURL變數內容
  5.     [A3].CurrentRegion = ""   '清除文字沒清除格式(美化好的表格)
  6.     With ActiveSheet.QueryTables.Add("url;" & strURL, Range("a3"))
  7.         .WebFormatting = xlWebFormattingNone '(NONE)不包含格式,(ALL)包含格式
  8.         .WebSelectionType = xlSpecifiedTables '指定table表格模式
  9.         .WebTables = "8" '第8個table表格
  10.         On Error Resume Next
  11.         .Refresh False
  12.         [B1] = ""
  13.         If Err <> 0 Then
  14.             [B1] = "請輸入正確股票代號"
  15.         Else
  16.             '**********************************
  17.             '"欄寬"是否可以實現如同文字顏色背景一樣,能夠自適應?
  18.             '請錄製巨集後套用程式碼在此
  19.             '*****************************'
  20.             [B1] = 網頁(strURL)  '填上股票名稱代號
  21.         End If
  22.     End With
  23. End Sub
  24. Private Function 網頁(Surl As String) As String
  25.     Dim oXmlhttp As Object, oHtmldoc As Object
  26.     Set oXmlhttp = CreateObject("msxml2.xmlhttp")
  27.     Set oHtmldoc = CreateObject("htmlfile")
  28.     With oXmlhttp
  29.         .Open "Get", Surl, False
  30.         .Send
  31.         oHtmldoc.write .responseText
  32.     End With
  33.     網頁 = Split(oHtmldoc.Title, "-")(0)
  34. End Function
複製代碼

作者: bioleon69    時間: 2016-9-9 21:50

好的,感謝GBK
目前測試OK!也把巨集複製進去了!!
需要花點時間研究~程式碼忽然爆炸性成長了哈
謝謝~~~~這個網抓程式碼確實好用!!
強!




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)