Board logo

標題: 「呼叫工作表函數」使用上的問題,請不吝指教 [打印本頁]

作者: mnsmrtl    時間: 2010-8-13 22:19     標題: 「呼叫工作表函數」使用上的問題,請不吝指教

大家好~
我想請問的是在VBA中,如果使用Application.WorksheetFunction.CountIf
我想在sheet1的A欄中逐一比對sheet2的A欄中是否已出現
個人寫的Code如下
Dim myrange As Range
    w = 2
    Do While Sheet1.Cells(w, "A") <> Empty
        ww = Sheet1.Cells(w, "A")
        Set myrange = Worksheets(2).Range("A:A")
        yy = Application.WorksheetFunction.CountIf(myrange, ww)
        If yy <> 0 Then Exit Do
    ....
    w = w + 1
    Loop
ww是商品代碼,問題出在COUNTIF第二個引數似乎在用變數寫入時用法不對…
麻煩各位先進指點一二~感謝
作者: Min    時間: 2010-8-13 23:14

大家好~
我想請問的是在VBA中,如果使用Application.WorksheetFunction.CountIf
我想在sheet1的A欄中逐一 ...
mnsmrtl 發表於 2010/8/13 10:19 PM


建議您上傳檔案! 內含... 的code好難理解~


這是函數的說明 您可以先參考一下!
作者: GBKEE    時間: 2010-8-14 08:44

本帖最後由 GBKEE 於 2010-8-14 08:46 編輯

回復 樓主
ww是商品代碼,問題出在COUNTIF第二個引數似乎在用變數寫入時用法不對…
你只附上片段的程式碼 且看不到ww 代進來的資料 無從查起
作者: mnsmrtl    時間: 2010-8-15 18:31

回復 3# GBKEE

抱歉沒把問題講清楚,我是想把sheet1「DDE」的data
符合條件後寫入到sheet2「監控」,而在寫入時希望能先比對Sheet2是否有重覆的標的
若無則直接建立在既有資料的下方,所以我就用countif去檢查
ww代表的是股票的代碼,不知道是不是該加入「"」,一直無法正常運作,感謝
作者: GBKEE    時間: 2010-8-16 18:30

回復 4# mnsmrtl

yy = Application.WorksheetFunction.CountIf(Myrange, ww)  '這行沒錯
If yy <> 0 Then
           ' Exit Do    離開回圈  就結束程式   請刪掉這行
  Sheet1.Cells(w, "O") = 1
'
'
作者: mnsmrtl    時間: 2010-8-18 17:05

原來如此,我懂了,感謝樓上大大的指導




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