- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
17#
發表於 2013-7-12 16:18
| 只看該作者
回復 12# 藍天麗池
程式碼依你1#的資料所寫試試看- Option Explicit
- Sub Ex()
- 'Dim(關鍵字) 宣告變數為程式私用的變數
- Dim N As String, Rng As Range 'String 字串型態 'Range(範圍)型態為物件
-
- With Sheets("資料表") '修正為正確的工作表名稱
- '.[E:E] = .Range("E:E") 'Sheets("資料表")的 E 欄
- 'Application.Max(.[E:E]) ->傳回E欗 最大值
- 'Application.Min (.[E:E])->傳回E欗 最小值
- 'N = InputBox("輸入數值") '不預設數值 用此程式碼
- 'InputBox 函數 顯示一對話方塊來做為提示,等使用者輸入文字或按下按鈕,並傳回包含文字方塊內容的String。
- N = InputBox("輸入數值", , Application.Max(.[E:E]))
- Set Rng = .Range("E:E").Find(What:=N, After:=Range("E1"), LookAt:=xlWhole) 'SET(設立物件變數)的關鍵字
- ' 請詳看 VBA Find方法, InputBox 函數 的說明
- If Not Rng Is Nothing Then 'Nothing: Find 找不到 N(的數值)
- If Rng.Row = 2 Then '當Rng(物件)的列號是 2
- Set Rng = Rng.Offset(, -1) '物件:原物件 列位( 不動 ),欗位(左移一欄)
- Else
- Set Rng = Rng.Offset(-1, -1) '物件:原物件 列位(上升一列),欗位(左移一欄)
- End If
- Rng.Select
- MsgBox Rng.Address
- End If
- End With
- End Sub
複製代碼 |
|