標題:
[發問]
Activecell問題
[打印本頁]
作者:
Helain
時間:
2011-11-2 20:54
標題:
Activecell問題
我想問, 從一個table找出最大的值
然後 想令找出來的最大值為activecell,
我想要知道這個activecell的位置資訊(指的是這個值在table裡的資訊),以便後續作業
作者:
luhpro
時間:
2011-11-2 22:07
回復
1#
Helain
建議你提供一下範例檔案,
這樣大家才能知道你所謂的 Table 到底是個 Excel 資料呢,
還是類似 SQL 資料庫的東西?
這兩種資料的存取方式不同,
要得到資料所在其可用的索引方式也是不同的.
作者:
oobird
時間:
2011-11-2 22:13
我想要知道這個activecell的位置資訊(指的是這個值在table裡的資訊),以便後續作業
什麼資訊?這是提問帖還是猜謎帖?
作者:
Helain
時間:
2011-11-3 11:02
抱歉!!{:2_25:}
我付上檔案了!!
作者:
oobird
時間:
2011-11-3 11:38
Dim myRange As Range
Set myRange = Range(Cells(8, 3), Cells(17, 8))
a = Application.Round(Application.MAX(myRange), 6)
MsgBox myRange.Find(a, , xlValues, 1).Address
MsgBox myRange.Find(a, , xlValues, 1).Row
MsgBox myRange.Find(a, , xlValues, 1).Column
複製代碼
作者:
Helain
時間:
2011-11-4 16:13
可以再問一下 Find的意思嗎?
Find(a.xl.value,1)
"xlvalue" 與"1"分別是指什麼呢?
作者:
oobird
時間:
2011-11-4 16:45
Find就是尋找
找到最大值的位置
xlValues是找值,不要找公式。內定值是找公式的,所以要註明!
值得注意的是妳的小數位數設為6位,所以最大值要用Round函數取到小數6位才找得到。
作者:
Helain
時間:
2011-11-4 16:57
可以用Offset函數嗎?
Cells(1, 1).Value = Application.WorksheetFunction.Offset(Cells(13, 2),
myRange.Find(a, , xlValues, 1).Row, myRange.Find(a, , xlValues, 1).Column
)
若想要取得欄,列資訊填入, 這樣是哪邊有問題呢?
作者:
Helain
時間:
2011-11-4 17:02
回復
7#
oobird
謝謝
作者:
GBKEE
時間:
2011-11-4 17:03
回復
6#
Helain
圖1 更改 2個的選項 錄製巨集 看看程式碼的變化
[attach]8423[/attach]
圖2 vba 視窗中 按下 F8 逐行執行後, 將滑鼠移到 紅框中的參數 可以看到 如箭頭指示的 參數=數字
[attach]8424[/attach]
作者:
Hsieh
時間:
2011-11-4 17:07
回復
8#
Helain
VBA中的OFFSET與工作表函數的OFFSET不可混淆
在VBA中不能使用工作表函數的OFFSET
必須寫成
Cells(1, 1).Value = Cells(13, 2).Offset(myRange.Find(a, , xlValues, 1).Row, myRange.Find(a, , xlValues, 1).Column)
作者:
Helain
時間:
2011-11-4 17:27
本帖最後由 Helain 於 2011-11-4 17:28 編輯
原來在VBA 不能使用OFFSET函數
我已經附上檔案了, 不知道哪邊有問題
作者:
Hsieh
時間:
2011-11-4 17:31
回復
12#
Helain
以你的現有數據B7:D10的最大值99
列號是9
欄號是2
而你的OFFSET原點是B13
B13向下9列向右2欄你說會指到哪個位置?
作者:
Helain
時間:
2011-11-4 17:40
謝謝Hsieh大大, 我知道問題點了!!!
作者:
baa168
時間:
2011-11-7 21:05
原來是這個樣子baa受教了...
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)