移至下一个空行以从Userform填充单元格

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了移至下一个空行以从Userform填充单元格相关的知识,希望对你有一定的参考价值。

我目前正在创建一个使用VBA的系统,让学生在大学中选择他们的课程。我为学生创建了一个用户表单“AMForm”,每个班级都有相邻的选项按钮,因此如果他们想要在班级注册,可以选择“是”或“否”。 “机械工程”旁边有“是”或“否”选项按钮。

一旦他们提交表格 - 我希望能够在电子表格'AMChoices'上记录他们的选择。这个电子表格在上面的标题中有每个类,所以我想用'x'填充单元格,如果它已被选中,例如如果选择“机械工程”选项按钮,则会在此单元格下方填充“x”。

我正在为多个用户执行此操作,因此我希望它能够填充单元格,然后当下一个用户记录他们的选择时,他们的选择将填充到下一个空行中。

请看下面我的代码。

Set CurrentCell = Range("B2").End(xlDown).Offset(1, 0).Select
If Me.optAMIB1 Then
Total = Total + 20
Worksheets("AMChoices").Range("CurrentCell").Value = "X"
End If
答案

首先,没有必要Select你想要添加值"X"的单元格。

其次,在设置CurrentCell范围对象后,可以直接将其与CurrentCell.Value2 = "X"一起使用。

尝试下面的代码,代码中的更多解释:

Dim AMChoiceSht As Worksheet
Dim CurrentCell As Range
Dim LastRow As Long

' set the worksheet object
Set AMChoiceSht = ThisWorkbook.Worksheets("AMChoices")

With AMChoiceSht
    LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row ' find last row in column B

    Set CurrentCell = .Range("B" & LastRow + 1) ' set the range of next empty row
End With

If Me.optAMIB1 Then
    Total = Total + 20
    CurrentCell.Value2 = "X"
End If

以上是关于移至下一个空行以从Userform填充单元格的主要内容,如果未能解决你的问题,请参考以下文章

Excel:如何创建快捷方式/浮动按钮以从工作表中的任何位置填充特定单元格?

UserForm 将 DatePicker 添加到 Monthview 并用数据填充 ActiveCell

Excel 单元格公式可以引用 UserForm 控件吗?

使用非连续范围的值通过RowSource属性填充UserForm Combobox

Excel透视表基础之数据源创建基本术语基本操作

在WPF DataGrid中按Enter键时将焦点移动到下一个单元格?