返回列表 上一主題 發帖

[發問] Activecell問題

[發問] Activecell問題

我想問, 從一個table找出最大的值
然後 想令找出來的最大值為activecell,
我想要知道這個activecell的位置資訊(指的是這個值在table裡的資訊),以便後續作業

回復 1# Helain
建議你提供一下範例檔案,
這樣大家才能知道你所謂的 Table 到底是個 Excel 資料呢,
還是類似 SQL 資料庫的東西?

這兩種資料的存取方式不同,
要得到資料所在其可用的索引方式也是不同的.

TOP

我想要知道這個activecell的位置資訊(指的是這個值在table裡的資訊),以便後續作業
什麼資訊?這是提問帖還是猜謎帖?

TOP

抱歉!!{:2_25:}
我付上檔案了!!

Max.rar (13.56 KB)

TOP

  1.     Dim myRange As Range

  2.     Set myRange = Range(Cells(8, 3), Cells(17, 8))
  3.     a = Application.Round(Application.MAX(myRange), 6)
  4.     MsgBox myRange.Find(a, , xlValues, 1).Address
  5.     MsgBox myRange.Find(a, , xlValues, 1).Row
  6.     MsgBox myRange.Find(a, , xlValues, 1).Column
複製代碼

TOP

可以再問一下 Find的意思嗎?
Find(a.xl.value,1)
"xlvalue" 與"1"分別是指什麼呢?

TOP

Find就是尋找
找到最大值的位置
xlValues是找值,不要找公式。內定值是找公式的,所以要註明!
值得注意的是妳的小數位數設為6位,所以最大值要用Round函數取到小數6位才找得到。

TOP

可以用Offset函數嗎?
Cells(1, 1).Value = Application.WorksheetFunction.Offset(Cells(13, 2), myRange.Find(a, , xlValues, 1).Row, myRange.Find(a, , xlValues, 1).Column)
若想要取得欄,列資訊填入, 這樣是哪邊有問題呢?

TOP

回復 7# oobird


    謝謝

TOP

回復 6# Helain

圖1  更改 2個的選項  錄製巨集 看看程式碼的變化


圖2 vba 視窗中  按下 F8 逐行執行後, 將滑鼠移到 紅框中的參數 可以看到 如箭頭指示的  參數=數字

TOP

        靜思自在 : 對父母要知恩,感恩、報恩。
返回列表 上一主題