ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 2895|回复: 4

求助!!Excel VBA 輸入日期問題

[复制链接]

TA的精华主题

TA的得分主题

发表于 2015-1-19 15:15 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
小弟用userform上面加了個textbox1之後寫了

Private Sub CommandButton1_Click()
ActiveSheet.Range("a8").End(xlDown).Offset(1, 0).Select
Selection = Me.TextBox1.Text
End Sub


當我在textbox1輸入 9/12/2014 然後按CommandButton1在excel的儲存格出現的是 12-Sep-2014而不是9-Dec-2014請問我應該如何處理?

TA的精华主题

TA的得分主题

发表于 2015-1-19 16:50 | 显示全部楼层
在"美国"的日期格式中,12-Sep-2014与9/12/2014是等价的.你可以在"控制面板"-区域与和语言中去修改默认项.或修改单元格的日期格式

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-1-20 12:12 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
单元格的日期格式是已經設定好為dd/mmm/yyyy的
但在textbox中輸入的日月到了儲蓄格還是會自動反過來

我又想請問下, 如果我用
Private Sub CommandButton1_Click()
ActiveSheet.Range("a8").End(xlDown).Offset(1t
Dim iDate() As String
iDate = Split(Me.TextBox1.Text, "/")
Selection = CDate(DateSerial(iDate(2), iDate(1), iDate(0)))
End Sub

要如何改才可以"/" 和 "-" 同時都可以作為分隔?
另一方面, 如果我在textbox輸入了非日期格調的文字/數字
會出現"執行階段錯誤'9' , 陣列索引超出範圍"
請問應該如何處理?
可以改為會出現msgbox嗎?

TA的精华主题

TA的得分主题

发表于 2015-1-20 12:54 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
darigaaz 发表于 2015-1-20 12:12
单元格的日期格式是已經設定好為dd/mmm/yyyy的
但在textbox中輸入的日月到了儲蓄格還是會自動反過來

单元格格式自定义:
m-d-yyyy
"/"与"-"都是认可的日期分隔符,不需要转换.

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-1-20 14:18 | 显示全部楼层
本帖最后由 darigaaz 于 2015-1-20 14:21 编辑
liu-aguang 发表于 2015-1-20 12:54
单元格格式自定义:
m-d-yyyy
"/"与"-"都是认可的日期分隔符,不需要转换.

我想日期出來的效果是 31-Dec-2014
所以用dd-mmm-yyy
而且之後日期還要用作篩選, 所以日和月都一定要是相應的值

我現在改用了
Private Sub CommandButton1_Click()
ActiveSheet.Range("a8").End(xlDown).Offset
Dim iDate() As String
iDate = Split(Me.TextBox1.Text, "/")
Selection = CDate(DateSerial(iDate(2), iDate(1), iDate(0)))
End Sub
但又有問題出現了
現在只可以用"/"作分隔, 但我想"/" 和 "-" 都可以作為分隔
但不知道如果改

另外如果我在textbox輸入了非日期格調的文字/數字
會出現"執行階段錯誤'9' , 陣列索引超出範圍"的這個問題我也還是解決不了
求高人指點
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-10 22:35 , Processed in 0.021980 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表