【问题标题】:For loop in excel vba not showing values to cellexcel vba中的for循环不向单元格显示值
【发布时间】:2020-04-08 15:49:45
【问题描述】:

我正在尝试使用“for 循环”来获取一些特定的值,代码运行完美,但值不会打印到目的地。 问题所在的子代码如下所示:

lastRow = Range("H" & Rows.Count).End(xlUp).Row
For i = 5 To lastRow

    radius = Range("C" & i).Value
    spacing = Range("L" & i).Value

    Select Case radius
      Case 0 To 450
        spacing = 6
      Case 451 To 750
        spacing = 9
      Case 751 To 2000
        spacing = 18
    End Select

Next i

【问题讨论】:

  • "destination" 应该是什么意思?
  • spacing = Range("L" & i).Value 只是将单元格值按值分配给变量。设置间距 = Range("L" & I) 设置间距变量引用范围对象。
  • @HTH 目标为“L”列,范围从第 5 行到最后一行

标签: excel vba for-loop


【解决方案1】:

在您的代码中,您将一个 Range("L" & i).Value 存储到 变量 spacing。然后,在您的 For 循环中,您将新的 value 分配给 variable,但您没有将 range(单元格)设置为那个值。

下面的,虽然是粗制滥造的,但对你有用。

lastRow = Range("H" & Rows.Count).End(xlUp).Row
For i = 5 To lastRow

    radius = Range("C" & i).Value

    Select Case radius
      Case 0 To 450
        Range("L" & i).Value = 6
      Case 451 To 750
        Range("L" & i).Value = 9
      Case 751 To 2000
        Range("L" & i).Value = 18
    End Select

Next i

【讨论】:

  • 你是怎么猜到那些“L”列的范围的?
  • @HTH OP 试图在 for 循环中设置 spacing 值,但他设置的是变量而不是范围。因此输出不会进入单元格。
  • "destination" 缺少信息是我的第一条评论。但是猜测它是Range(而不是一些行高或其他东西)并且在“L”列中,离我很远
猜你喜欢
  • 2023-03-16
  • 2021-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多