返回列表 上一主題 發帖

請問:如何尋找黃色底色的儲存格?!

回復 7# linshin1999


    是ColorIndex 是6沒有錯!
   
    真心的謝謝你的幫忙!

TOP

回復 5# oobird


    謝謝你的幫忙!

TOP

回復 10# Hsieh


    原來2003和2007還有這樣的分別啊!
對於我這樣的初學者來說,讓我有多學會一個知識!
真是多虧你的幫忙!^^

TOP

本帖最後由 FAlonso 於 2011-1-17 17:22 編輯

首先解決格子底色問題
用下列程式試試其顏色編號
  1. Sub abc()
  2. Dim i
  3. i = Sheet1.Range("A1").Interior.ColorIndex '修改目標地址
  4. MsgBox i
  5. End Sub
複製代碼
然後
  1. Option Explicit
  2. Sub choosesheet()
  3. Dim myyear As String, mystock As String
  4. Dim myfind As Range, myrange As Range, mycell As Range

  5. thisworkbook.activate

  6. myyear = Application.InputBox(myyear, "Enter year")

  7. If IsNumeric(myyear) Then
  8.     If myyear < 2001 Or myyear > 2010 Then
  9.     MsgBox "Out of Range"
  10.     Exit Sub
  11.     Else
  12.     Sheets(myyear).Activate
  13.     End If
  14. Else
  15. MsgBox "Not A Number"
  16. Exit Sub
  17. End If

  18. mystock = Application.InputBox(mystock, "Enter Stock Name")

  19. With Sheets(myyear)
  20. Set myfind = .Rows(1).Find(what:=mystock, after:=.[b1], lookat:=xlPart)
  21. If myfind Is Nothing Then
  22. MsgBox "No Findings"
  23. Else
  24. Set myrange = .Range(myfind, myfind.End(xlDown))

  25. For Each mycell In myrange
  26. If mycell.Interior.ColorIndex = 6 Then
  27. mycell.Activate
  28. Exit For
  29. End If
  30. Next

  31. End If
  32. End With
  33. End Sub
複製代碼
輸入年份及其股票代號或名稱,該程式便會去到指定黃式格子
請肯定每個column只有一個黃色格子而已,如果不是此程式需要作修改,類似findnext + loop xxxx<>xxx.address之類的
有問題再call我
80 字節以內
不支持自定義 Discuz! 代碼

TOP

回復 14# FAlonso


你好~
請問我執行完第一個程式碼他跑出的訊息是"4142"這是什麼意思?!
謝謝你的回答!
^^

TOP

回復  FAlonso


你好~
請問我執行完第一個程式碼他跑出的訊息是"4142"這是什麼意思?!
謝謝你的回答! ...
candy516 發表於 2011-1-17 18:05

指格子是"無填滿".即default的color index
該程式是偵察出黃色的編號,不用猜
我第二個程式,你覺得怎樣?
80 字節以內
不支持自定義 Discuz! 代碼

TOP

本帖最後由 linshin1999 於 2011-1-17 19:26 編輯

candy妳好:我學會了取得儲存格顏色的方法,如果一定要用顏色找的話,可以試試看:

Dim mycolor As long
      mycolor = Activecell.Interior.color

如此妳就可以取得目前儲存格的顏色,然後將這個值帶進去木工版主的程式去試試看吧!
Sub YY()
Application.FindFormat.Interior.ColorIndex = Activecell.Interior.color
With ActiveSheet
For i = 1 To .Columns.Count
Set c = .Columns(i).Find(What:="", After:=.Cells(65536, i), SearchDirection:=xlNext, SearchFormat:=True)
If Not c Is Nothing Then MsgBox c.Address
Next
End With
End Sub

原來已經找到答案了,我没有看到還有第二頁,真不好意思,可是已經收不回來了,不過也學會了如何取得儲存格的顏色!
V98

TOP

回復 16# FAlonso


喔~原來是這個意思呀!
第二個程式也很厲害耶!
大家都好厲害唷!
^^

TOP

回復 17# linshin1999


    linshin1999 你好~
也是非常謝謝你告訴我另一種方法!
大家的都好有耐心的回答我!
謝謝你們!

TOP

回復  FAlonso


喔~原來是這個意思呀!
第二個程式也很厲害耶!
大家都好厲害唷!
^^
candy516 發表於 2011-1-17 21:34

關於那個填權日數,我遲些寫一個程式給你
80 字節以內
不支持自定義 Discuz! 代碼

TOP

        靜思自在 : 【時間成就一切】時間可以造就人格,可以成就事業,也可以儲積功德。
返回列表 上一主題