不可否认,这里有一位新手/新手,但过去曾成功修改过一些代码。运行一个宏来调出UI框以输入日期和客户端预订字段,该文件的先前版本没有问题,但是由于将宏等移植到2016 excel文件中,我现在甚至在以前工作的副本上都会出现此错误。已测试和以前的文件在我自己以外的所有其他登录/计算机上正常工作。
接收错误9,下标超出范围指向以下代码,该代码读取隐藏工作表上生成的日历;
代码是;
'~~> Ok Button
Private Sub CommandButton53_Click()
BookedInDate = Me.TextBox1.Text
Dim Day As String
Dim Month As String
Dim Year As String
Day = Split(Me.TextBox1.Text, "/")(0)
Month = Split(Me.TextBox1.Text, "/")(1)
Year = Split(Me.TextBox1.Text, "/")(2)
BookedDate = DateSerial(Year, Month, Day)
' ActiveSheet.Range("BE" & cell.row).Value = Me.txtTimeIn.Text
varTimeIn = Replace(Me.txtTimeIn.Text, ".", ":")
'BookedDate = dateserial(me.TextBox1.
'WSLoc2.Close
' WSLoc2.Delete
Unload Me
End Sub
绝对惹恼了我的大脑,试图弄清楚为什么我现在在以前的功能工作簿上收到这个错误,任何建议都会非常感激。调试工具指向我
Month = Split(Me.TextBox1.Text, "/")(1)
split函数引用的代码:
Private Sub UserForm_Activate()
Dim dat As Date
dat = DateAdd("m", 1, DateSerial(Val(Format(CommandButton45.Caption, "YYYY")), Val(Format(CommandButton45.Caption, "MM")), 1))
' GenerateCal Format(Now(), "dd/mm/yyyy")
CommandButton45.Caption = Format(Now(), "mmm - yyyy")
Me.TextBox1.Text = Format(Now(), "d/mm/yyyy")
答案 0 :(得分:0)
Format Function (Visual Basic for Applications)州的文档:
用户定义的日期/时间格式(格式函数)下表 标识可用于创建用户定义的日期/时间的字符 格式:
(/)日期分隔符。在某些区域设置中,其他字符 可用于表示日期分隔符。日期分隔符 分隔日期值格式化的日,月和年。该 在格式化输出中用作日期分隔符的实际字符是 由您的系统设置决定。
这意味着日期格式字符串中的/
依赖于语言环境。例如:
Dim s As String
s = Format(Now(), "d/mm/yyyy")
MsgBox s
在我的德语Excel中今天导致s
= 18.04.2018
,因为在我的德语区域设置中,点.
是日期分隔符。
如果你总是希望斜杠是日期字符串中日月和年之间的分隔符,那么请使用:
Dim s As String
s = Format(Now(), "d\/mm\/yyyy")
MsgBox s
反斜杠掩盖了斜线没有特殊含义的"日期分隔符"