返回列表 上一主題 發帖

COUNTA 或某些函數在VBA上使用的疑問

COUNTA 或某些函數在VBA上使用的疑問

Dear 大大們

      小弟在VBA撰寫有關函數部份的程式碼時,都會有一個問題
      就是在SHEET1讀取SHEET2的資料時,會讀不到,例如附件中的COUNTA這個函數

      能否請大大講解一下,問題是什麼??? 其函數在VBA上撰寫的基本觀念為何?? 好讓小弟可以學習~


         在VBA內使用COUNTA函數測試.rar (8.23 KB)

回復 3# GBKEE


    謝謝大大的詳細說明~ 讓我能夠了解~ 感恩~

TOP

回復 2# Hsieh


    謝謝大大~ 原來我的sheet2是放錯了位置

TOP

回復 3# GBKEE


    Dear 大大

        小弟想要再請問一個問題
        若是我在用COUNTA去統計時,若我的區間是不一定的時候,就會有問題
           一般正常的寫法是
        Application.CountA(Sheet2.[E22: E65536]) [固固區間進行統計)
           若我已W是一個Row的數值(亦即是該儲存格是在第幾列)        
        Application.CountA(Sheet2.[E&W: E65536]) [改變成可浮動區間進行統計]

           請大大教導我

            COUNTA進階問題_20110106.rar (9.5 KB)
學習才能提升自己

TOP

回復 9# GBKEE

   謝謝大大~ 幫我解決 (我自己試了老半天都無法解決):L
學習才能提升自己

TOP

回復 13# asus103


    這是大大貼的網址~ 怕有人找不到那段解釋的文字~ 特地貼出來~

1. 注意 Match 是工作表函數的成員而不是VBA內建函數,所以需指明上層物件。
WorksheetFunction 的標準寫法是 Application.WorksheetFunction。

2. 注意你的程式位於一般模組還是物件模組。
一般模組:
在一般模組 (就是 Module1、Module2.. 那些) 裡是可以省略 Application 的。
(省略 Application 就不能省略 WorksheetFunction,意思就是不能只寫函數名稱)
物件模組:
但在物件模組裡就不能省略 Application 了,
因為物件模組預設的物件是該物件本身,
例如 Worksheet 模組的預設物件是 Worksheet;
UserForm 模組的預設物件就是 UserForm。由此可知,
若在 UserForm1 模組寫 WorksheetFunction (省略了 Application),
VBA 會視為 UserForm1.WorksheetFunction,結果就會出錯了。
學習才能提升自己

TOP

        靜思自在 : 要用心,不要操心、煩心。
返回列表 上一主題