我正在尝试创建一个VBA脚本,检查B2和B60之间的所有单元格,以查看挪威语中的“Ja”文本。 如何为每个单元格制作一个“if”命令更简单一点? 我希望它,如果单元格包含“ja”(是),则写入colum D和相同的数字 即。 B1,2,3,4,5包含“ja”,我需要它来取D1.2,3,4,5中的前一个单元格值并添加另一个数字+1。 如果在B中找不到任何内容(即.false),则需要在当前单元格中写入“NEI”,如果在该单元格中找到“NEI”(否),则向列E添加+1
Sub Macro2()
Dim celltxt As String
Dim a As Variant
If IsEmpty(Range("B2").Value) = True Then
Cells(2, 2).Value = "NEI"
End If
celltxt = ActiveSheet.Range("B2").Text
If InStr(1, celltxt, "ja") Then
a = Cells(2, 1).Value
'write to cell
Cells(2, 4).Value = Cells(2, 4) + 1
Else
'antall Cw'er vedkommende IKKE har deltatt på
Cells(2, 5).Value = Cells(2, 5) + 1
End If
If IsEmpty(Range("B3").Value) = True Then
Cells(3, 2).Value = "NEI"
End If
celltxt = ActiveSheet.Range("B3").Text
If InStr(1, celltxt, "ja") Then
a = Cells(3, 1).Value
'write to cell
Cells(3, 4).Value = Cells(3, 4) + 1
Else
'antall Cw'er vedkommende IKKE har deltatt på
Cells(3, 5).Value = Cells(3, 5) + 1
End If
End Sub
Sub slettingALL()
Range("D2:E55").Select
Selection.ClearContents
End Sub
Sub slettingdeltakelse()
Range("B2:B60").Select
Selection.ClearContents
End Sub
答案 0 :(得分:0)
以下代码使用For Each循环和IF THEN ELSE语句检查B2:B60范围内的值“JA”。
如果找到“JA”,它会从当前i位置向右看两列,并在其上方的值中添加“+1”。如果什么也没找到,它会将“NEI”写入当前的i位置,然后向右移动三列,并在其上方的值上加+1。
Sub Macro2()
For Each i In Range(Cells(2, 2), Cells(60, 2))
If i.Value = "JA" Then
i.Offset(0, 2).Value = i.Offset(-1, 2).Value + 1
Else
i.Value = "NEI"
i.Offset(0, 3).Value = i.Offset(-1, 3).Value + 1
End If
Next i
End Sub
如果此代码不适合您的目的,请与我们联系。