当我单击按钮时,宏会按顺序填充列中的单元格

当我单击按钮时,宏会按顺序填充列中的单元格

我很难弄清楚这一点。

这是我的布局:

布局截图

正如你所见,我有 2 个按钮。

我希望每个按钮的功能是:

  1. 每次我单击,它都会在特定范围内的单元格中 YES插入。Y
  2. 如果我YES再次单击,它将自动Y在同一列中前一个单元格下的下一个单元格中插入一个。
  3. 如果我单击NO,它还将继续沿着该列向下插入一个N

如何使按钮的输出始终使用下一个空闲单元格?

答案1

我假设您代码的其余部分已经完成,您需要的是某种方法来获取用于插入值的行。如果您的数据不是很大并且您恰好喜欢循环,那么以下代码片段效果最佳:

Dim rNext as Long
rNext = 2   'First used row in column F
Do Until LenB(Range("F" & rNext).Value) = 0
    rNext = rNext + 1
    If rNext = ActiveSheet.Rows.Count Then Exit Do
Loop

这里有一个更强大并且更快的解决方案:

Dim rNext As Long
rNext = Range("F2:F" & Cells.Rows.Count).Find(vbNullString).Row

从第二个示例中您可能已经看出,您可以直接使用以下命令执行此操作:

Range("F2:F" & Cells.Rows.Count).Find(vbNullString).Value = "Y"

相关内容