【发布时间】:2018-12-01 04:11:39
【问题描述】:
我的 ListBox 是一个 4 列的 ListBox,我将在其中插入最后 3 列数据。
我设法编写了一个代码,将 ListBox 的第 n 行插入到电子表格的相应单元格中。但是,我想要插入用户从 ListBox 中选择的任何行......如果他们什么都不选择,它不会插入任何东西。
我插入第 n 行的代码是:
Dim LastRow As Long
Dim n as integer
LastRow = Sheets("Sheet1").Cells(Rows.count, "F").End(xlUp).row
n = inputbox("enter value")
With Worksheets("Sheet1")
.Range("F" & LastRow + 1) = ListBox1.Column(1, n)
.Range("G" & LastRow + 1) = ListBox1.Column(2, n)
.Range("H" & LastRow + 1) = ListBox1.Column(3, n)
End With
您能否建议如何修改我的代码以选择所选值而不是第 n 个?不选中怎么不插入?
【问题讨论】:
-
您的代码假设
InputBox将返回一个可以隐式转换为Integer的值。而是将InputBox结果分配给String,然后您可以执行If StrPtr(result) = 0来查看输入框是否被取消,然后If IsNumeric(result)以知道您正在查看一个值可以转换为Integer。然后执行n = CInt(result)进行显式转换。 -
这表示我不知道“选择所选值而不是第 n 个”是什么意思。
n不是选中的值吗?