Board logo

標題: 相同股票自動輸入 [打印本頁]

作者: coafort    時間: 2023-3-30 11:38     標題: 相同股票自動輸入

請問各位大大
如圖
假設輸入長榮值利率44.16
只要有長榮的欄位會自動輸入44.16
請問該如何寫呢
謝謝大大[attach]36062[/attach]
作者: Andy2483    時間: 2023-3-30 12:55

本帖最後由 Andy2483 於 2023-3-30 12:56 編輯

回復 1# coafort


    謝謝前輩發表此主題與情境
請問前輩有 殖利率明細對照表嗎?

全部一次帶入比較乾脆,一個個輸入耗時
作者: coafort    時間: 2023-3-30 13:06

回復  coafort


    謝謝前輩發表此主題與情境
請問前輩有 殖利率明細對照表嗎?

全部一次帶入比較 ...
Andy2483 發表於 2023-3-30 12:55


謝謝大大
無法套入WEB
套入的話得一個個欄位套
作者: Andy2483    時間: 2023-3-30 13:13

回復 3# coafort


    謝謝前輩回復
WEB 什麼位址?
作者: coafort    時間: 2023-3-30 13:32

回復  coafort


    謝謝前輩回復
WEB 什麼位址?
Andy2483 發表於 2023-3-30 13:13


比方0056
https://www.moneydj.com/ETF/X/Basic/Basic0007B.xdjhtm?etfid=0056.TW
謝謝大大
作者: Andy2483    時間: 2023-3-30 16:06

回復 1# coafort


    http://forum.twbts.com/redirect. ... o=lastpost#lastpost
作者: coafort    時間: 2023-3-30 16:19

回復  coafort
Andy2483 發表於 2023-3-30 16:06


謝謝大大
作者: coafort    時間: 2023-3-31 09:16

[attach]36070[/attach]
如附件
請問有大大知道怎設計嗎
謝謝
作者: Andy2483    時間: 2023-3-31 10:10

回復 8# coafort


    謝謝前輩提供範例
範例裡沒有 殖利率欄位
[attach]36072[/attach]
作者: coafort    時間: 2023-3-31 10:14

回復  coafort


    謝謝前輩提供範例
範例裡沒有 殖利率欄位
Andy2483 發表於 2023-3-31 10:10


謝謝大大
取消值利率
改成股息和配股兩個欄位了
謝謝大大
作者: Andy2483    時間: 2023-3-31 11:18

本帖最後由 Andy2483 於 2023-3-31 11:20 編輯

回復 8# coafort

謝謝前輩回復
後學藉此帖練習觸發與字典,學習方案如下,請前輩參考

執行前:
[attach]36073[/attach]

輸入8的執行結果:
[attach]36074[/attach]

'工作表模組:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
With Target
     On Error Resume Next
     Names("_AAA").Delete
     On Error GoTo 0
     If .Row < 3 Or .Value = "" Then Exit Sub
     If .Column Mod 7 <> 1 Then Exit Sub
     Cancel = True
     Names.Add "_AAA", Target.Value
End With
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
   If .Row < 3 Or .Count > 1 Then Exit Sub
   If .Column Mod 7 = 4 Then
      Call 填入配息_多個同股名
   
      If Val(Y(.Offset(0, -3) & "|")) > 1 Then
         Application.EnableEvents = False
         Y(.Offset(0, -3) & "/").Value = .Value
         Application.EnableEvents = True
         Application.Goto Y(.Offset(0, -3) & "/")
         Set Y = Nothing
      End If
   End If
   If .Column Mod 7 = 6 Then
      Call 填入配股_多個同股名
   
      If Val(Y(.Offset(0, -5) & "|")) > 1 Then
         Application.EnableEvents = False
         Y(.Offset(0, -5) & "/").Value = .Value
         Application.EnableEvents = True
         Application.Goto Y(.Offset(0, -5) & "/")
         Set Y = Nothing
      End If
   End If
End With
End Sub

'Module1:
Option Explicit
Public Y
Sub 填入配息_多個同股名()
Dim Brr, C&, i&, R&
Set Y = CreateObject("Scripting.Dictionary")
Brr = ActiveSheet.UsedRange
For C = 1 To UBound(Brr, 2) Step 7
   For R = 3 To UBound(Brr)
      Y(Brr(R, C) & "|") = Y(Brr(R, C) & "|") + 1
      If Y(Brr(R, C) & "/") = "" Then
         Set Y(Brr(R, C) & "/") = Cells(R, C + 3)
         Else
            Set Y(Brr(R, C) & "/") = Union(Y(Brr(R, C) & "/"), Cells(R, C + 3))
      End If
   Next
Next
End Sub

Sub 填入配股_多個同股名()
Dim Brr, C&, i&, R&
Set Y = CreateObject("Scripting.Dictionary")
Brr = ActiveSheet.UsedRange
For C = 1 To UBound(Brr, 2) Step 7
   For R = 3 To UBound(Brr)
      Y(Brr(R, C) & "|") = Y(Brr(R, C) & "|") + 1
      If Y(Brr(R, C) & "/") = "" Then
         Set Y(Brr(R, C) & "/") = Cells(R, C + 5)
         Else
            Set Y(Brr(R, C) & "/") = Union(Y(Brr(R, C) & "/"), Cells(R, C + 5))
      End If
   Next
Next
End Sub
作者: coafort    時間: 2023-3-31 11:25

回復  coafort

謝謝前輩回復
後學藉此帖練習觸發與字典,學習方案如下,請前輩參考

執行前:


輸入 ...
Andy2483 發表於 2023-3-31 11:18


報告大大
出現錯誤
謝謝大大
[attach]36075[/attach]
作者: Andy2483    時間: 2023-3-31 11:36

回復 12# coafort


    謝謝前輩回復
測試檔如下,請前輩參考

[attach]36076[/attach]
作者: coafort    時間: 2023-3-31 11:55

回復  coafort


    謝謝前輩回復
測試檔如下,請前輩參考
Andy2483 發表於 2023-3-31 11:36


非常感謝大大
已經可以了:lol
作者: coafort    時間: 2023-3-31 15:14

回復  coafort


    謝謝前輩回復
測試檔如下,請前輩參考
Andy2483 發表於 2023-3-31 11:36


請問大大
如果未來我再增加新的欄位
要改哪裡呢?
謝謝大大
作者: Andy2483    時間: 2023-3-31 15:32

回復 15# coafort


    世事難料,千金難買早知道,情境難測,請前輩撥空研究一下,自己試改看看
不順遂如意時有論壇眾前輩可以請教,一起學習
作者: coafort    時間: 2023-3-31 15:34

回復  coafort


    世事難料,千金難買早知道,情境難測,請前輩撥空研究一下,自己試改看看
不順遂如意 ...
Andy2483 發表於 2023-3-31 15:32


謝謝大大
到時候我再嘗試看看
如有問題再麻煩大大
作者: coafort    時間: 2023-4-4 08:31

回復  coafort


    世事難料,千金難買早知道,情境難測,請前輩撥空研究一下,自己試改看看
不順遂如意 ...
Andy2483 發表於 2023-3-31 15:32


大大您好
我發現有個問題
就是判斷是從0056那邊開始
如果從00713那邊輸入,0056,00878這邊的數值不會跟著變動
請問大大有解嗎
謝謝
作者: coafort    時間: 2023-4-4 14:10

回復  coafort


    世事難料,千金難買早知道,情境難測,請前輩撥空研究一下,自己試改看看
不順遂如意 ...
Andy2483 發表於 2023-3-31 15:32


大大您好
我發現有個問題
就是判斷是從最左邊0056那邊開始
如果儲存格空白,從00713那邊輸入,相同股票的0056,00878這邊的數值不會跟著出現
請問大大有解嗎
謝謝
作者: Andy2483    時間: 2023-4-6 09:01

本帖最後由 Andy2483 於 2023-4-6 09:05 編輯

回復 19# coafort


    謝謝前輩
後學學藝不精又偷懶的結果
1.請將兩處的程式碼   If Y(Brr(R, C) & "/") = "" Then 改為
If Not Y.Exists(Brr(R, C) & "/") Then

Sorry
作者: coafort    時間: 2023-4-6 09:06

回復  coafort


    謝謝前輩
後學學藝不精又偷懶的結果
1.請將兩處的程式碼   If Y(Brr(R, C) & "/ ...
Andy2483 發表於 2023-4-6 09:01


大大千萬不要這麼說
大大能幫小弟的忙已經感恩涕零了
已經修改完畢
可以了
真是太感謝大大
作者: Andy2483    時間: 2023-4-6 09:10

回復 21# coafort


    謝謝前輩不嫌棄陪後學一起學習,假日不方便測試回復,讓前輩久等了
謝謝前輩
作者: coafort    時間: 2023-4-6 09:35

回復  coafort


    謝謝前輩不嫌棄陪後學一起學習,假日不方便測試回復,讓前輩久等了
謝謝前輩
Andy2483 發表於 2023-4-6 09:10


謝謝大大不厭其煩的幫忙我
感恩




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