3

当我尝试执行以下代码时,我收到错误消息“需要运行时错误'424'对象”,

Sub test()
Range("Q" & i).Text = x1.Text
End Sub

其中 x1 是日历对象。

如果我将以下代码用作

Range("Q" & i) = x1.Text

我的代码会将日期存储为 02-11-2013 而不是 11-02-2013,这里的问题是它重新安排了月份和日期。

希望我能找到解决方案。

提前致谢

4

3 回答 3

4

您在第一个实例中遇到错误,因为.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;@"
于 2013-02-19T07:22:54.147 回答
0

您可以使用格式功能:

    Range("Q" & i).Value = Format(x1.Text, "dd-mm-yyyy")
于 2013-02-19T07:19:41.713 回答
0

请使用Range("Q" & i) = Format(x1.Text,"dd-MM-yyyy")

于 2013-02-19T07:20:02.940 回答