vba - 使用用户表单单选按钮在组更改后添加空行/分页符
问题描述
我搜索了其他问题,但遗憾的是,我找不到正确的答案。
我的代码:
Private Sub cancel_button_Click()
Unload Me
End Sub
Private Sub ok_button_Click()
If empty_row_radio = True Then
MsgBox ThisRng.Address
For i = ThisRng.Rows.Count To 2 Step -1
If ThisRng.Cells(i, 1).Value <> ThisRng.Cells(i - 1, 1).Value Then
ThisRng.Cells(i, 1).EntireRow.Insert
End If
Next
Application.ScreenUpdating = True
Unload Me
ElseIf page_break_radio_Click = True Then
Dim j As Long
For j = Cells(Rows.Count, "A").End(xlUp).Offset(1, 0).Row To 3 Step -1
If Range("A" & j).Value <> Range("A" & j - 1).Value Then
ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Range("A" & j)
End If
Next j
Unload Me
End If
End Sub
Private Sub inputRange()
Dim ThisRng As Excel.Range
Set ThisRng = Application.InputBox("Select a range", "Get Range", Type:=8)
range_textbox = ThisRng.Address
End Sub
Private Sub UserForm_Initialize()
Call inputRange
End Sub
在初始化用户表单时,我调用inputRange()
sub 进行范围选择。之后,范围地址显示在 中textbox
。然后用户选择其中一个单选按钮并单击“确定”按钮,运行相应的代码以插入空行或分页符。
我的问题是,它没有选择选择范围,因此没有任何反应。
有什么帮助吗?
解决方案
使用免责声明,您可能永远不应该这样编程,而是遵循 VBA 中的一些良好实践,以下是可行的:
Dim ThisRng As Excel.Range
从您的代码中删除该行。- 在表格顶部准确地写下该行。
良好处理用户表单的一些示例:
推荐阅读
- angular - i18n 是否支持在运行时更改语言?
- linux - socketcan 替代方案 / 将 can0 添加到 /dev/
- r - 线性趋势回归变得疯狂
- django - 为什么我的 Django CreateView 无法识别 form_valid
- spring - ApplicationListener 被解雇了两次
- macros - Sublime 无法在宏中打开 new_file
- r - 在ggplot图中保留空白类别
- python - 如何在 selenium python 中使用 xpath 获取错误消息文本?
- java - 如何使用 jdbcTemplate 在 Java 代码中按降序显示评分
- python - 为什么 Cython 编译为 C 比 C++ 等价物快得多