作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想将一些用户输入(通过表单生成)的值分配给特定的单元格。也就是说,如果我的 rowLocation 变量 = 4,我希望单元格 C4(我称之为 statusRng)具有 CaseStatusBox.Text 的值。
当我运行我目前拥有的东西时,我得到运行时错误 5:下面代码中注释掉的行上的“无效的过程调用或参数”。有什么想法我哪里出错了吗?谢谢!
rowLocation = Application.WorksheetFunction.Match(client, rng, 0)
statusRng = ("C" & rowLocation)
StaffRng = ("D" & rowLocation)
DateRng = ("G" & rowLocation)
OutputSheet.Cells("statusRng") = CaseStatusBox.Text 'debugger points to error on this line
OutputSheet.Cells("StaffRng") = StaffEntryBox.Text
OutputSheet.Cells("DateRng") = Date
最佳答案
Worksheet.Cells
返回 Range
对象,不带任何参数; ("statusRng")
你传递的参数,最终会传递给 Range.[_Default]
属性,它需要 2 个可选参数。给定参数,Range.[_Default]
将它们传递给 Range.Item(RowIndex, ColumnIndex)
,它接受整数/Long
值,而不是字符串。
如@Comintern suggested ,将参数传递给 Worksheet.Range
相反,会按预期工作 - Worksheet.Range
接受 [cell1], [cell2]
Variant
的参数,并提供几种方便的方法来检索 Range
出Worksheet
object - 其中之一是提供命名范围的名称。
因此,如果存在指定的名称,这些应该可以正常工作:
OutputSheet.Range("statusRng").Value = CaseStatusBox.Text
OutputSheet.Range("StaffRng").Value = StaffEntryBox.Text
OutputSheet.Range("DateRng").Value = Date
"
双引号,因为这些分隔 VBA 中的字符串文字;
"statusRng"
正在传递字符串,而您的
statusRng
变量没有被读取。
Dim statusRng As String
statusRng = "C" & rowLocation
Dim StaffRng As String
StaffRng = "D" & rowLocation
Dim DateRng As String
DateRng = "G" & rowLocation
OutputSheet.Range(statusRng).Value = CaseStatusBox.Text
OutputSheet.Range(StaffRng).Value = StaffEntryBox.Text
OutputSheet.Range(DateRng).Value = Date
关于excel - 如何为单元格分配变量值以避免 VBA 运行时错误 5?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54373083/
我是一名优秀的程序员,十分优秀!