在vba中使用单元格()作为string的错误?

所以我想使用Cells对象来存储一个string,我不断收到一个应用程序错误:

Sub analyze() Dim rC As Integer Dim rtData As Worksheet Set rtData = ThisWorkbook.Sheets("RTN Data") Dim finalSht As Worksheet Set finalSht = ThisWorkbook.Sheets("Final") Sheets("Final").Cells(1, 1).Text = "order#" finalSht.Cells(0, 2) = "Nurse" finalSht.Cells(0, 3) = "Message" rC = rtData.Cells(rows.Count, 1).End(xlUp).Row End Sub 

不pipe我不断尝试引用它的不同方式

请帮忙。

.text是一个只读属性。 尝试将您的值分配给.value

另外,细胞从1开始计数,所以细胞(0,2)没有意义。

 Sheets("Final").Cells(1, 1).Value = "order#" finalSht.Cells(1, 2) = "Nurse" finalSht.Cells(1, 3) = "Message" 

Range.Text属性是在单元格中格式化的显示文本,您不能指定它。 把它看作只读¹。 把你的string赋给单元格的Range.Value属性,或者(因为.Value是默认的)就把它放到单元格中。

 Sheets("Final").Cells(1, 1) = "order#" Sheets("Final").Cells(1, 1).Value = "order#" 

这可以很容易地用date来certificate。 单元格可能具有2015年7月18日格式化的.Text属性,date值为07/18/2015 ,原始范围。值为 42203。

¹.Text属性的官方文档是相互矛盾的。

返回或设置指定对象的文本。 只读string。

它可以是只读的,也可以设置它。 不是都。