返回列表 上一主題 發帖

[發問] 篩選資料並且放到新的Sheet裡

本帖最後由 candy516 於 2011-3-27 17:28 編輯

回復 18# Hsieh


前輩您好~
我將一樣的程式碼入另外一個檔案中執行,但卻不能跑出正確的結果!
像是檔案中的SHEET1裡的證券代碼2801他在2004年出現3次,但他跑出來只會出現一次!(執行結果如附檔的SHEET4)
如果我只想要跑出事件日後第五天的報酬率(包含事件日當天),請問是要改哪裡呢?
不好意思一直麻煩您!= =
謝謝!

data10.rar (98.93 KB)

TOP

回復 21# Hsieh


前輩您好:
我研究了這次得程式碼和之前的程式碼有何不同,發現不同之處在於
mystr = A & "," & A.Offset(, 1)d(mystr) = DateValue(Format(A.Offset(, 1), "0000/00/00"))
Next
End With
k = 1: r = 1
For Each ky In d.keys
y = Left(Split(ky, ",")(1), 4)
With Sheets(y)
請問Left(A.Offset(, 1), 4)有什麼差別呢?
再請問如果我只想要顯示事件日後第五天的報酬我應該怎麼改呢?
(舉例來說,事件日是20041119,則我要20041123的資料(t+4))
我試了好久還是不成功耶!= =
非常感謝!^^

TOP

回復 23# Hsieh


謝謝前輩的解說!
前輩所寫的程式碼真的幫我很大的忙,
我現在可以自由的更改我想要抓取的欄位!
或者是特定哪一天的資料!
真的很感謝您!^^
謝謝!

TOP

回復 23# Hsieh


   
前輩您好~
我現在又回歸到本主題一開始的程式碼,
我現在換篩選出沒填權股票的報酬率,我將檔案下載成一樣的格式,
但貼上程式碼執行後,它說型態不符!
請問是哪裡出了問題!?
我是用以下的程式碼!
  1. Sub ex()
  2. Dim A As Range, B As Range, B1 As Range, B2 As Range, C As Range, Rng As Range, Rng1 As Range, d As Object
  3. Set d = CreateObject("Scripting.Dictionary")
  4. Set sht = Sheets.Add(after:=Sheets(1))
  5. Application.ScreenUpdating = False
  6. With Sheet1
  7.    For Each A In .Range(.[A2], .[A65536].End(xlUp))
  8.       mystr = A & "," & Left(A.Offset(, 1), 4)
  9.       d(mystr) = DateValue(Format(A.Offset(, 1), "0000/00/00"))
  10.    Next
  11. End With
  12. k = 1: r = 1
  13. For Each ky In d.keys
  14. y = Split(ky, ",")(1)
  15. With Sheets(y)
  16. Set C = .Columns("A").Find(d(ky))
  17. Set B = .Rows(1).Find(Split(ky, ",")(0))
  18. If Not C Is Nothing And Not B Is Nothing Then
  19. x = Application.Max(3, C.Row - 14)
  20.    Set Rng = .Cells(x, 1).Resize(15, 1)
  21.    Set Rng1 = .Cells(x, B.Column).Resize(15, 1)
  22.    With sht
  23.       Rng.Copy .Cells(r, k)
  24.       Rng1.Copy .Cells(r, k + 1)
  25.       .Cells(r, 3) = y & "年第" & B.Column - 1 & "筆"
  26.    End With
  27.    r = r + 15
  28.    Else
  29.    MsgBox "無此除權資料"
  30. End If
  31. End With
  32. Next
  33. Application.ScreenUpdating = True
  34. End Sub
複製代碼
(因為資料檔案太大,所以我先刪除其他九年的資料,只剩2010)

謝謝您!^^

Test沒填息的個股週報酬率.rar (856.55 KB)

TOP

回復 26# Hsieh


我也是想說是那邊的問題,我也做過修改!= =
但沒有成功, 所以是只要把格式改掉即可,對吧!
謝謝您唷!^^

TOP

回復 26# Hsieh


前輩您好:
    在附檔裡的SHEET1中,A5證券代碼為3009,我是想要抓出20050103後五天(含當天),
所以正確應該抓取的資料為2005/1/7  -7.7104,但程式跑出來變成2005/11/9  7.402!
我研究一下發現,只要原始資料是1、2月的都是不對的耶!
又要麻煩您幫我解答一下,不好意思!
謝謝您!^^

周報酬率.rar (309.68 KB)

TOP

前輩們好~
正規化是指將這些資料表單把整理成一定的格式嗎?是讓資料更有秩序嗎?!
所以說正規化是也需要用程式碼來執行還是說像是樞紐分析之類的嗎?
另外一問,“擦屁股”是什麼意思?
謝謝~^^

TOP

回復 31# Hsieh


終於解決這個問題了!= =
謝謝前輩~

TOP

        靜思自在 : 有智慧才能分辨善惡邪正;有謙虛才能建立美滿人生。
返回列表 上一主題