看板 Visual_Basic 關於我們 聯絡資訊
※ 引述《smooth131 (囧rz)》之銘言: : 【目的】 : 1.求出以下數列是否呈現遞增or遞減的狀態 : 2.判斷遞增or遞減的起始點及終點的數值 : 【資料狀態】 : 1 : 2 : 3 : 4 : 5 : 6 : 7 : 8 : 9 : 10 : 11 : 12 : 13 : 14 : 15 : 【問題描述】 : 1. 如何判斷是否為遞增or遞減狀態已經好了, : 目前想知道的是怎麼樣求得起始點及終點的值 : 2. 照我這樣寫,只要k > num 時k = 0,原意是想當k > num 時才判定成遞增 : ,現在想改卻不知道該從何下手 : 感謝各位大哥的協助 m(-_-)m : 【程式碼】 [恕刪] 昨天以為可以用Do loop,後來發現我想錯了 以下提供我的邏輯 Sub test() Dim i, StartRow, EndRow, MyColumn As Long Dim MyString As String Dim MyValue MyColumn = 1 '指定範圍欄號 StartRow = 1 '指定起始範圍列號 EndRow = Cells(StartRow, MyColumn).End(xlDown).Row For i = StartRow + 1 To EndRow MyValue = (Cells(i - 1, MyColumn).Value - Cells(i, MyColumn)) _ * (Cells(i, MyColumn).Value - Cells(i + 1, MyColumn)) If MyValue < 0 Or i = EndRow Then If Cells(i, MyColumn) > Cells(StartRow, MyColumn) Then _ MyString = "遞增" Else MyString = "遞減" Debug.Print MyString & " Row:" & StartRow & "→" & i & _ " Value: " & Cells(StartRow, MyColumn) & "→" _ & Cells(i, MyColumn) StartRow = i End If Next i End Sub 以上有一個限制條件,即假設數列中任二相的數字不相等的情況 如果會遇到相等的話,就要再修改 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.80.20.253
smooth131:原po超熱心 感恩 m(-_-)m 08/19 20:20