VBA对Excel单元格数字类型进行批量格式化处理

假如想通过VBA对EXCEL当前表A列单元格或区域的数字类型进行批量格式化处理,方法如下:
r = activesheet.range(“A1”).currentregion.rows.count
for i = 2 to r
ActiveSheet.range(“A1”).NumberFormatLocal = “@”:
next

NumberFormatLocal 常用的格式代码
Selection.NumberFormatLocal =“G/通用格式” '常规
Selection.NumberFormatLocal = “0.00_ " '数值
Selection.NumberFormatLocal = “¥#,##0.00;¥-#,##0.00” '货币
Selection.NumberFormatLocal = “_ ¥* #,##0.00_ ;_ ¥* -#,##0.00_ ;_ ¥* " & “””” & “-” & “”“” & "??_ ;_ @_ " '会计专用
Selection.NumberFormatLocal = “yyyy/m/d;@” '日期
Selection.NumberFormatLocal = “[KaTeX parse error: Expected 'EOF', got '#' at position 101: …FormatLocal = "#̲ ?/?" '分数 Selec…-804]G/通用格式” '中文大写 '特殊
Selection.NumberFormatLocal = “[DBNum2][ R M B ] G / 通 用 格 式 ; [ 红 色 ] [ D B N u m 2 ] [ RMB]G/通用格式;[红色][DBNum2][ RMB]G/;[][DBNum2][RMB]G/通用格式” ''特殊人民币大写
Selection.NumberFormatLocal = “yyyy/mm/dd” '日期 '自定义

如果想将文本型数值批量赋给单位格,并保持文本型类型,语句示例如下:
如,将数组中的文本型数值保存在表格中单元格A列
dim arr() as string
dim key as string
dim i as integer
key = “1001,1001.01,1002,1002.01,1220,1221”
arr=split(key,“,”)
for i = 1 to ubound(arr)
activesheet.range(“A” & i).NumberFormatLocal = “@”: rem 赋值前对单元格数值类型进行设置
activesheet.range(“A” & i).value = arr(i)
next

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
rivate Sub Command3_Click() Dim i As Long Dim j As Long Dim objExl As Excel.Application '声明对象变量 Me.MousePointer = 11 '改变鼠标样式 Set objExl = New Excel.Application '初始化对象变量 objExl.SheetsInNewWorkbook = 1 '将新建的工作薄数量设为1 objExl.Workbooks.Add '增加一个工作薄 objExl.Sheets(objExl.Sheets.Count).Name = "book1" '修改工作薄名称 objExl.Sheets.Add , objExl.Sheets("book1") '增加第二个工作薄在第一个之后 objExl.Sheets(objExl.Sheets.Count).Name = "book2" objExl.Sheets.Add , objExl.Sheets("book2") '增加第三个工作薄在第二个之后 objExl.Sheets(objExl.Sheets.Count).Name = "book3" objExl.Sheets("book1").Select '选中工作薄<book1> For i = 1 To 50 '循环写入数据 For j = 1 To 5 If i = 1 Then objExl.Selection.NumberFormatLocal = "@" '设置式为文本 objExl.Cells(i, j) = " E " & i & j Else objExl.Cells(i, j) = i & j End If Next Next objExl.Rows("1:1").Select '选中第一行 objExl.Selection.Font.Bold = True '设为粗体 objExl.Selection.Font.Size = 24 '设置字体大小 objExl.Cells.EntireColumn.AutoFit '自动调整列宽 objExl.ActiveWindow.SplitRow = 1 '拆分第一行 objExl.ActiveWindow.SplitColumn = 0 '拆分列 objExl.ActiveWindow.FreezePanes = True '固定拆分 objExl.ActiveSheet.PageSetup.PrintTitleRows = "$1:$1" '设置打印固定行 objExl.ActiveSheet.PageSetup.PrintTitleColumns = "" '打印标题 objExl.ActiveSheet.PageSetup.RightFooter = "打印时间: " & _ Format(Now, "yyyy年mm月dd日

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值