簡體   English   中英

如果創建VBA,則循環遍歷單元格區域

[英]Creating VBA If Then Loop through Range of Cells

我有兩個可以單獨使用的代碼,但是我不知道如何組合它們。 我想瀏覽一列數字並測試它們是否> = 100,然后如果為true則更改結果。

我不知道此列將有多少行,因此我在此宏的另一部分中使用了以下行。

Range("D1:D" & Final & "").

而且,通過像這樣直接指定單個單元格,我已經成功地測試了單個單元格:

Sub CellTest()
Dim cell As Integer
cell = Range("D7").Value
If cell >= 100 Then
Range("D7").Value = "NoSplit"
End If
End Sub

有人可以幫我組合這些,以便遍歷每一行並測試值嗎?

更新:

該電子表格是通過網頁上的腳本下載的,每次都有不同的名稱。 我會提前知道一些事情,例如...

  • 只有一張
  • 有問題的列是D列
  • D列將只有沒有小數點的數字
  • 我將不知道此列中有多少行
Public Sub testforhundred()
    Dim rcell As Range, rng As Range
    Set rng = ThisWorkbook.Worksheets("Sheet1").Range("D1:D" & ThisWorkbook.Worksheets("Sheet1").UsedRange.Rows.Count)
    For Each rcell In rng.Cells
        If rcell.Value >= 100 Then rcell.Value = "NoSplit"
    Next rcell
End Sub

這很容易將它們組合在一起。 但是,如果行數很大,則由於與工作表對象進行交互會很費時間

這就是我最終使用的...

Public Sub testforhundred()
    Dim rcell As Range, rng As Range
    Set rng = Application.ActiveSheet.Range("D1:D" & Application.ActiveSheet.UsedRange.Rows.Count)
    For Each rcell In rng.Cells
        If rcell.Value >= 100 Then rcell.Value = "NoSplit"
    Next rcell
End Sub

暫無
暫無

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

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