[转载]使用VBA设置单元格格式
(2013-03-30 23:07:56)
标签:
excel操作数据分析 |
分类: Excel操作 |
常见的单元格数据格式:
Range("a1").NumberFormat = "0.00" '将数字设置为两位小数;
Range("a1").NumberFormat = "0.00%" '将数字设置为两位小数的百分数;
Range("a1").NumberFormat = "000000" '将数字设置为6位整数(邮编);
Range("a1").NumberFormat = "@" '将数字设置为文本;
RRange("a1").NumberFormat = "[DBNum2]" '将数字设置为中文大写;
RRange("a1").NumberFormatLocal = "(¥#,##0.00_); [红色] (¥#,##0.00)" '将数字设置为人民币;
Range("a1").NumberFormat = "yyyy年m月d日" '设置为日期;
Range("a1").NumberFormat = "yyyy年m月d日aaaa" '设置为日期星期几;
Range("a1").NumberFormat = "yyyy-m-d dddd" '设置为日期星期几;
Range("a1").NumberFormat = "mmmm" ' 设置英文全称;
Range("a1").NumberFormat = "mmm" '设置英文简称;
Range("a1").NumberFormat = "aaaa" '设置汉语星期;
Range("a1").NumberFormat = "dddd" '设置英语星期;
Range("a1").NumberFormat = ";;" '隐藏单元格数字;
Range("a1").NumberFormat = ";;;" '将隐藏单元格数字和文本
Range("a1").NumberFormat = "0;-0;;@" '隐藏单元格零值
Range("a1").NumberFormat = "0.00" '将数字设置为两位小数;
Range("a1").NumberFormat = "0.00%" '将数字设置为两位小数的百分数;
Range("a1").NumberFormat = "000000" '将数字设置为6位整数(邮编);
Range("a1").NumberFormat = "@" '将数字设置为文本;
RRange("a1").NumberFormat = "[DBNum2]" '将数字设置为中文大写;
RRange("a1").NumberFormatLocal = "(¥#,##0.00_); [红色] (¥#,##0.00)" '将数字设置为人民币;
Range("a1").NumberFormat = "yyyy年m月d日" '设置为日期;
Range("a1").NumberFormat = "yyyy年m月d日aaaa" '设置为日期星期几;
Range("a1").NumberFormat = "yyyy-m-d dddd" '设置为日期星期几;
Range("a1").NumberFormat = "mmmm" ' 设置英文全称;
Range("a1").NumberFormat = "mmm" '设置英文简称;
Range("a1").NumberFormat = "aaaa" '设置汉语星期;
Range("a1").NumberFormat = "dddd" '设置英语星期;
Range("a1").NumberFormat = ";;" '隐藏单元格数字;
Range("a1").NumberFormat = ";;;" '将隐藏单元格数字和文本
Range("a1").NumberFormat = "0;-0;;@" '隐藏单元格零值
以下举例说明一些常见的设置方式
Public Sub 例10_56()
Dim myRange As
Range
Dim myVad As
Validation
Set myRange =
Range("A1")
'指定任意的单元格或单元格区域
Set myVad =
myRange.Validation
With myVad
.Delete
'删除原有的有效性设置
'下面是各种输入规则的设置,可以根据实际情况选择任意一种
.Add
Type:=xlValidateWholeNumber, AlertStyle:=xlValidAlertStop,
_
Operator:=xlBetween,
_
Formula1:="100", Formula2:="10000"
'只允许输入某范围的整数
'
.Add
Type:=xlValidateWholeNumber, AlertStyle:=xlValidAlertStop,
_
'
Operator:=xlGreater,
Formula1:="100"
'只允许输入大于某值的整数
'
.Add
Type:=xlValidateWholeNumber, AlertStyle:=xlValidAlertStop,
_
'
Operator:=xlGreater,
Formula1:="100"
'只允许输入大于某值的整数
'
.Add
Type:=xlValidateWholeNumber, AlertStyle:=xlValidAlertStop,
_
'
Operator:=xlLess,
Formula1:="100"
'只允许输入小于某值的整数
'
.Add
Type:=xlValidateWholeNumber, AlertStyle:=xlValidAlertStop,
_
'
Operator:=xlGreaterEqual,
Formula1:="100"
'只允许输入大于或等于某值的整数
'
.Add
Type:=xlValidateWholeNumber, AlertStyle:=xlValidAlertStop,
_
'
Operator:=xlLessEqual,
Formula1:="100"
'只允许输入小于或等于某值的整数
'
.Add
Type:=xlValidateWholeNumber, AlertStyle:=xlValidAlertStop,
_
'
Operator:=xlNotEqual,
Formula1:="100"
'只允许输入不等于某值的整数
'
.Add
Type:=xlValidateWholeNumber, AlertStyle:=xlValidAlertStop,
_
'
Operator:=xlEqual,
Formula1:="100"
'只允许输入等于某值的整数
'如果是设置输入小数,则将Type参数进行修改如下,其他参数不变:
'
.Add
Type:=xlValidateDecimal, AlertStyle:=xlValidAlertStop,
_
'
Operator:=xlGreater,
Formula1:="100"
'只允许输入大于某值的整数
'如果是设置输入日期,则将Type参数进行修改如下,其他参数不变:
'
.Add
Type:=xlValidateDate, AlertStyle:=xlValidAlertStop,
_
'
Operator:=xlGreater,
Formula1:="100"
'只允许输入大于某值的整数
'如果是设置输入时间,则将Type参数进行修改如下,其他参数不变:
'
.Add
Type:=xlValidateTime, AlertStyle:=xlValidAlertStop,
_
'
Operator:=xlGreater,
Formula1:="100"
'只允许输入大于某值的整数
'如果是设置输入文本长度,则将Type参数进行修改如下,其他参数不变:
'
.Add
Type:=xlValidateTextLength, AlertStyle:=xlValidAlertStop,
_
'
Operator:=xlGreater,
Formula1:="100"
'只允许输入大于某值的整数
'如果是设置输入序列,则将Add语句修改如下:
'
.Add
Type:=xlValidateList, AlertStyle:=xlValidAlertStop,
_
'
Operator:=xlEqual,
Formula1:="1,2,3,4,5,6,7,8,9,10,11,12"
'如果是设置输入序列,并且引用定义的名称,则将Add语句修改如下:
'
.Add
Type:=xlValidateList, AlertStyle:=xlValidAlertStop,
_
'
Operator:=xlBetween,
Formula1:="=myName"
'下面是其他项目的设置
.IgnoreBlank
= True
'允许空值
.InCellDropdown
= True
'显示含有有效取值的下拉列表
.InputTitle =
"整数"
'设置数据有效性输入对话框的标题
.ErrorTitle =
"数据错误"
'设置数据有效性错误对话框的标题
.InputMessage
= "请输入整数"
'设置数据有效性检验输入信息
.ErrorMessage
= "数据超出了范围"
'设置数据有效性检验错误信息
.IMEMode =
xlIMEModeOff
'设置输入法规则的说明
.ShowInput =
True
'选定某一单元格时,显示数据有效性检查输入消息
.ShowError =
True
'用户输入无效数据时显示数据有效性检查错误消息
End With
Set myVad =
Nothing
Set myRange =
Nothing
End Sub
Formula1:="100", Formula2:="10000"
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
End Sub