【问题标题】:For loop and If statement Excel VBAFor循环和If语句Excel VBA
【发布时间】:2021-01-24 12:05:41
【问题描述】:

如果您能帮我解决这个问题,我将不胜感激。我试图让 vba 为我提供从 1 到单元格 G1 中的值以 1 递增的所有数字,并将其填充到 C 列中。之后,我希望 vba 从 C1 开始检查 C 列中的每个单元格,看看是否值大于数字并填充到它旁边的列中(从 D1 列开始)

例如,单元格 G1 的编号为 5。

所以,我应该在 c 列中看到以下内容,即 1、2、3、4、5,在 D 列中,我应该只看到大于 3 的单元格的值。所以这意味着只有值 4,并且 5 填充在 D 列中。

感谢任何帮助,因为我是 VBA 的新手,并且正在努力掌握它。

谢谢。

【问题讨论】:

标签: vba for-loop if-statement


【解决方案1】:

试试这个:

Sub elyas()
    Dim i As Long, MagicNumber As Long
    Dim k As Long
    
    MagicNumber = 3
    k = 1
    
    For i = 1 To [G1]
        Cells(i, "C").Value = i
        If i > MagicNumber Then
            Cells(k, "D").Value = i
            k = k + 1
        End If
    Next i
End Sub

【讨论】:

  • 这很好,加里,但有没有办法确保 D 列中的答案填充在 C 列的相应单元格旁边。您的解决方案从 D1 而不是 D4 开始填充 D 列,其中值 4 开始。换句话说,值 1、2、3 的 D 列是空白的,但其余部分与 C 列相邻。
  • 嘿,加里,我想通了。我所做的只是将 K=1 的值编辑为 K=MagicNumber + 1 Thnx!:-)
  • @elyas ........干得好!......................
猜你喜欢
  • 2013-08-26
  • 2019-01-07
  • 1970-01-01
  • 2013-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多