Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
楼主: 爱疯

[已解决]Text、Format、NumberFormat、NumberFormatLocal的区别

[复制链接]
 楼主| 发表于 2010-4-13 09:43 | 显示全部楼层

QUOTE:
以下是引用小线在2010-4-13 9:33:00的发言:
我举的例子中分别加一个debug.print a就更容易看出来区别了

test1和test2,一模一样?[em04]
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
回复

使用道具 举报

发表于 2010-4-13 09:52 | 显示全部楼层

QUOTE:
以下是引用爱疯在2010-4-13 9:43:00的发言:

test1和test2,一模一样?[em04]

加了debug.print a之后再看看立即窗口里是不一样的.

但是在A1单元格中却一样.

能体会出来啥意思不?

回复

使用道具 举报

发表于 2010-4-13 09:56 | 显示全部楼层

就好像你手工输入日期一样,若默认的日期格式(NumberFormatLocal )是yyyy-mm-dd格式,那你输入yyyy/mm/dd格式后会自动转换为默认格式.除非你对单元格格式做出调整才会改变(NumberFormat).而你手工输入的部分在VBA中就是经过format处理的那部分.虽然在VBA中的值是yyyy/mm/dd格式(可以从立即窗口看出值),但是送到单元格之后会自动判断这个值是日期,然后会默认日期格式yyyy-mm-dd输出
回复

使用道具 举报

发表于 2010-4-13 09:59 | 显示全部楼层    本楼为最佳答案   

再比如:

[A1]=format(1,"0000")'如果你在单元格输入0001会自动判断这是一个数字,然后变成默认的1,除非你设置其格式

debug.print format(1,"0000")'但是在VBA中立即窗口得到的是0001这种格式

一样的理解

回复

使用道具 举报

 楼主| 发表于 2010-4-13 10:02 | 显示全部楼层


Sub test4()
    Dim a As Date
    a = Date
    
    
    '1) VBA函数Format()
    [A1] = Format(a, "yyyy-mm-dd") '单元格格式为日期格式
    
    
    '2) 工作表函数Text()
    [A2] = Application.WorksheetFunction.Text(a, "yyyy-mm-dd") '单元格格式为日期格式
    
    
    '3) NumberFormat属性
    [A3] = a
    [A3].NumberFormat = "yyyy-mm-dd" '单元格格式为自定义格式:yyyy-mm-dd
    
    
    '4) NumberFormatLocal属性
    [A4] = a
    [A4].NumberFormatLocal = "yyyy-mm-dd" '单元格格式为自定义格式:yyyy-mm-dd
        
End Sub

 

从结果(上图)看出

  • 1和2有别于3和4的区别,1和2实际被格式为"yyyy-m-d";而3和4仍是"yyyy-mm-dd"
  • 3和4的区别,4楼有说。
  • 那1和2,有区别么?


[em09]
回复

使用道具 举报

发表于 2010-4-13 10:07 | 显示全部楼层

楼上问题我已经回答了.你再看看吧
回复

使用道具 举报

 楼主| 发表于 2010-4-13 10:07 | 显示全部楼层

谢谢小线!

对于单元格格式的设置,是不是只此4种呀?

1和2,有区别么?

回复

使用道具 举报

发表于 2010-4-13 10:09 | 显示全部楼层

再帮你总结一句(实际上阿木已经总结过的):

format和单元格的格式无关.之和VBA中值的格式有关!

回复

使用道具 举报

发表于 2010-4-13 10:10 | 显示全部楼层

汗,你还说是对单元格格式的设置..

请看13,14楼

回复

使用道具 举报

 楼主| 发表于 2010-4-13 10:16 | 显示全部楼层

QUOTE:
以下是引用小线在2010-4-13 10:10:00的发言:

汗,你还说是对单元格格式的设置..

请看13,14楼

别汗啊[em04]

你说“你还说是对单元格格式的设置..”是什么意思?是指15楼的总结,哪儿有错吗?

“format和单元格的格式无关.之和VBA中值的格式有关!”这句,我记下了。

15楼我最后个问题是format和text的区别啊(没谁回过吧)?

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-20 03:31 , Processed in 0.275065 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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