excel - Excel VBA用A16-A20之间的值填充最后一个空行
问题描述
我正在尝试编写一个代码,当我按下按钮时,系统会自动用值填充单元格。我想要的是当第 16 行填充值时,系统检测到它并填充下面的行(不覆盖第 16 行的值),例如,如果第 16 行被填充,则第 17 行被填充。
我已经尝试编写代码,但问题是它只覆盖第 16 行,当第 16 行已经填充了一个值时,它不会填充下一行
这是代码:
Dim lr As Long
Dim TxtRng As Range
lr = Sheets("5barang").Range("A16:A" & Rows.Count).End(xlUp).Row + 1
Sheets("5barang").Range("A" & lr).Value = "CHEETOS"
Sheets("5barang").Range("C" & lr).Value = "1"
Sheets("5barang").Range("D" & lr).Value = "60000"
End Sub
解决方案
下面的代码应该适合你:
Dim lr As Long, count_entries As Integer
Dim TxtRng As String
TxtRng = "A16:A20"
count_entries = Application.WorksheetFunction.CountIf(range(TxtRng), "<>")
If count_entries = 1 Then
lr = Sheets("5barang").range("A17").Row
Else
lr = Sheets("5barang").range(TxtRng).End(xlDown).Offset(1, 0).Row
End If
Sheets("5barang").range("A" & lr).Value = "CHEETOS"
Sheets("5barang").range("C" & lr).Value = "1"
Sheets("5barang").range("D" & lr).Value = "60000"
我已将代码编辑为仅包含范围 A16:A20。但请注意,这在 A20 之后可能无法正常工作。
根据您的评论,您已保护工作表。因此,您必须在运行代码之前取消保护工作表。或者您可以使用上述代码添加代码以取消保护工作表。
推荐阅读
- git - Git:从 PR 中获取分支名称
- python - 没有名为 tensorflow.python Windows 10 的模块
- r - 如何仅在有多个值时使用 sub on
- c# - Vector3 [] Unity 没有填满值
- node.js - 无法在消息处理程序中写入文件
- r - 使用 R 中的正则表达式对数据进行分叉
- react-native - 将 Native json 反应为平面列表视图数据
- sql - 为什么 SQL 引擎在使用 LIMIT 时扫描索引列上的整个表?
- android - 如何理解 Kotlin 中有趣的 buildString(builderAction: (StringBuilder) -> Unit) : String?
- mysql - 存储过程的输出参数未显示