我看起来像一个非常简单的应用程序,循环和'If..Then'语句,但需要一些帮助来构建它。
在一个基本示例中,我在列A中有一个列表编号,在列B中列出了值PM
或AM
。我想编写一个循环来搜索B列中的每个值直到数据集结束,并且每次列B的值为12
时,将PM
添加到A列中的每个值。简而言之,它看起来像这样:
PM
12
添加到A列中相应的单元格答案 0 :(得分:3)
有很多方法,这是典型的方法:
Sub dural()
Dim i As Long
i = 1
Do While Cells(i, "B").Value <> ""
If Cells(i, "B").Value = "PM" Then
Cells(i, "A").Value = Cells(i, "A").Value + 12
End If
i = i + 1
Loop
End Sub
答案 1 :(得分:0)
您可以使用For next循环和2个变量进行设置。一行用于最后一行,第二行用于行计数:
Sub Macro1()
Dim LastRow As String
Dim i As Integer
LastRow = Cells(Rows.Count, "A").End(xlUp).Row
For i = 1 To LastRow
If Cells(i, 2).Value = "PM" Then Cells(i, 1).vlaue = Cells(i, 1).vlaue + 10
Next i
End
'
End Sub
答案 2 :(得分:0)
这是另一种方法。
Option Explicit
Sub Add()
Dim rData As Range
Dim r As Range
Set rData = Cells(1, 1).CurrentRegion.Columns("B").Cells
For Each r In rData
If UCase$(r.Value) = "PM" Then
r.Offset(, -1).Value = r.Offset(, -1).Value + 12
End If
Next r
End Sub