![](/img/trans.png)
[英]VBA Excel - Run-time Error '1004' when trying to assign a value to a Cell
[英]Excel VBA Run time error 6 when assigning value to cell
我使用了很长时间的一个子程序由于某种原因停止工作了。 当我尝试为单元格赋值时,下面的简化宏会导致“运行时错误‘6’:溢出”。 单元格 C2 中的值已分配给 cValue,但在单元格 C3 中设置时出现错误。
Private AWB As Workbook
Private cValue As Double
Sub Test()
Set AWB = ThisWorkbook
Sheets("Import").Select
Range("C2").Select
cValue = ActiveCell.Value
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = cValue
End Sub
Sub Solution1()
'Set AWB = ThisWorkbook
With Worksheets("Import").Range("C2")
cValue = .Value2
.Offset(1, 0).Value2 = cValue
End With
End Sub
' *** <OR> ***
Sub Solution2()
With Worksheets("Import").Range("C2")
.Offset(1, 0).Value2 = .Value2
End With
End Sub
如果您仍然遇到麻烦,请尝试将您的cValue
类型更改为as variant
。
ThisWorkbook
指定它。 如果它在一百个程序中,就做一百次。Select
或任何类型的Active )来限定您的对象,以避免长而不可读的表达式,例如ThisWorkbook.Sheets("Import").Range("C2").Offset(1).Value = ThisWorkbook.Sheets("Import").Range("C2").Value
你可以实际使用而不是发布的代码(不推荐)。Option Explicit
Sub Test()
Dim wb As Workbook: Set wb = ThisWorkbook ' workbook containing this code
Dim ws As Worksheet: Set ws = wb.Sheets("Import")
Dim sCell As Range: Set sCell = ws.Range("C2")
Dim dCell As Range: Set dCell = sCell.Offset(1)
dCell.Value = sCell.Value
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.