簡體   English   中英

Excel VBA-檢查數字序列並在必要時替換下一個或最后一個值

[英]Excel VBA - Checking a Sequence of Numbers and Replacing Next or Last Value if Necessary

我很難解決這個問題。 我試過使用case語句和if / else語句,但沒有運氣。 這是我的問題! 我在一列中有一個數字序列,例如42,43,49,50,其中42始終跟數值43,而49始終跟數值50。

有時我有一個數字序列,其中的數字順序不正確,例如42,43,49,43。 在這種情況下,我需要將模式更改為42,43,49,50。 在另一種情況下,我有一個數字序列,例如42,50,49,50,需要將模式更改為49,50,49,50。

這是我的邏輯:第一種情況...如果單元格= 50,則返回最后一個單元格,如果該單元格= 43,則將該單元格的值更改為49。第二種情況...如果單元格= 49,則轉到下一個可用單元格,如果cell = 43將該值更改為50。請記住,必須處理空白單元格,如下面的列所示。

A 42“空” 43“空” 49“空”“空”“空” 43

讓我知道您是否需要更多說明,感謝您的幫助! 我希望我遵循問題​​格式,如果沒有,對不起!

謝謝謝謝!!!

像這樣

Sub Tester()

Dim c As Range, i As Long, vLast

    Set c = Cells(Rows.Count, 1).End(xlUp)

    Do While c.Row >= 2
        If Len(c.Value) > 0 Then
            If Len(vLast) > 0 Then
                If vLast = 50 Then c.Value = 49
                If vLast = 43 Then c.Value = 42
            End If
            vLast = c.Value
        End If
        Set c = c.Offset(-1, 0)
    Loop

End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM