vba - 使用 If 子句循环某个范围

标签 vba excel loops if-statement

我对编码很陌生,写了一些不起作用的代码,我理解为什么,但无法找到解决它的方法。
我想要做的是我的代码检查B列中的每个单元格显示的数字,然后在E列中填写相应的字符串。我的问题是我的循环不起作用,因为我可能应该使用“for each “循环与否?并且我无法弄清楚如何在不使用 Ranges 而是使用单元格的情况下执行我的 ifclause。
感谢您的时间和帮助!

Dim x As Long

For x = 2 To 1000
    Range ("E" & x)
        If Range("B2") = 6002 Then
            Range("E2") = "Gehälter " & Month(Range("G2")) & "/2016"
        ElseIf Range("B2") = 6003 Then
            Range("E2") = "Üst-Pauschale " & Month(Range("G2")) & "/2016"
        ElseIf Range("B2") = 6027 Then
            Range("E2") = "Sonderzahlung " & Month(Range("G2")) & "/2016"
        ElseIf Range("B2") = 6110 Then
            Range("E2") = "SV-DG Anteil " & Month(Range("G2")) & "/2016"
        ElseIf Range("B2") = 6211 Then
            Range("E2") = "MVK " & Month(Range("G2")) & "/2016"
        ElseIf Range("B2") = 6410 Then
            Range("E2") = "Dienstgeberbeitrag " & Month(Range("G2")) & "/2016"
        ElseIf Range("B2") = 6420 Then
            Range("E2") = "Dienstgeberzuschlag " & Month(Range("G2")) & "/2016"
        ElseIf Range("B2") = 6430 Then
            Range("E2") = "Kommunalsteuer " & Month(Range("G2")) & "/2016"
        ElseIf Range("B2") = 6691 Then
            Range("E2") = "Km-Geld " & Month(Range("G2")) & "/2016"
        ElseIf Range("B2") = 7731 Then
            Range("E2") = "Reisekosten " & Month(Range("G2")) & "/2016"
        ElseIf Range("B2") = 6035 Then
            Range("E2") = "Sonstige Zulagen " & Month(Range("G2")) & "/2016"
Else: Range("E2") = ""
End If
Next x

这就是它应该的样子!
enter image description here

最佳答案

Dim x As Long, s As String

For x = 2 To 1000

    Select Case Cells(x, "B").Value
        Case 6002: s = "Gehälter"
        Case 6027: s = "Üst-Pauschale"
        'other cases....
        Case Else: s = ""
    End Select

    Cells(x, "E").Value = IIf(s <> "", s & " " & _
                             Month(Cells(x, "G").Value) & "/2016", "")

Next x

关于vba - 使用 If 子句循环某个范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38582549/

相关文章:

vba - 代码执行错误仍然存​​在

excel - 找不到 OleDB 数据提供程序 VBA/Excel

javascript - jQuery 电子表格/网格插件,可从 Excel 复制/粘贴到 Excel

java - 如何在 Java 中也读取具有空值的 Excel 单元格......?

php - 在我的 for 循环中生成不同的随机字符串

python - 从查询列中划分字符串并将结果插入同一个表

javascript - 非同步启动 Javascript 间隔并在运行 3 次后停止

vba - Excel VBA - 允许使用 DisplayFormulaBar=False 输入单元格

excel - 复制值而不是公式

excel - ASP : How to import data from a merged cell in Excel?