当我尝试执行以下代码时,我收到错误消息“需要运行时错误'424'对象”,
Sub test()
Range("Q" & i).Text = x1.Text
End Sub
其中 x1 是日历对象。
如果我将以下代码用作
Range("Q" & i) = x1.Text
我的代码会将日期存储为 02-11-2013 而不是 11-02-2013,这里的问题是它重新安排了月份和日期。
希望我能找到解决方案。
提前致谢
您在第一个实例中遇到错误,因为.Text
范围的属性是只读的,并且用于从单元格/范围中获取当前格式化的值。
我会使用 format 函数,但也会设置要放入的单元格的数字格式以确保安全:
Range("Q" & i).Value = Format(x1.Text, "dd-mm-yyyy")
Range("Q" & i).NumberFormat = "dd-mm-yyyy;@"
编辑:根据您的评论,我建议尝试使用交换日期和月份来格式化传入日期,然后像这样应用 NumberFormat:
Range("Q" & i).Value = Format(x1.Text, "mm-dd-yyyy")
Range("Q" & i).NumberFormat = "dd-mm-yyyy;@"
您可以使用格式功能:
Range("Q" & i).Value = Format(x1.Text, "dd-mm-yyyy")
请使用Range("Q" & i) = Format(x1.Text,"dd-MM-yyyy")