Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2679|回复: 7

[已解决]金额各数字分别列填

[复制链接]
发表于 2011-1-17 21:02 | 显示全部楼层 |阅读模式
5学分
如题

要求见附件和图片

1.为空白时不填写,把常规的数字按照圆角分来列填

注意还有负号的和为0的处理。

谢谢赐教了,需要用数组解决

金额各数字分别列填.rar (8.7 KB, 下载次数: 10)

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2011-1-17 21:22 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2011-1-17 21:28 | 显示全部楼层
回复 那么的帅 的帖子

那是函数填的,求的是vba,认为数组很快,所以求数组方法
回复

使用道具 举报

发表于 2011-1-17 21:54 | 显示全部楼层
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.     If Target.Count > 1 Then Exit Sub
  3.     If Target.Column = 8 And IsNumeric(Target.Value) Then
  4.         Dim str1$, arr(), k%, i%
  5.         str1 = Replace(Format(Target.Value, "0.00"), ".", "")
  6.         k = Len(str1)
  7.         If k > 12 Then MsgBox "输入数据过大,超出可核算范围。": Exit Sub
  8.         ReDim arr(1 To 1, 1 To 12)
  9.         For i = 1 To 12
  10.             arr(1, i) = Left(Right(" " & str1, 13 - i), 1)
  11.         Next i
  12.         Cells(Target.Row, "y").Resize(1, 12) = arr
  13.     End If
  14. End Sub
复制代码

事件代码 金额各数字分别列填.rar (14.71 KB, 下载次数: 9)

点评

谢谢代码,需要的是批量操作。明天来评分了  发表于 2011-1-17 23:32

评分

参与人数 1 +3 收起 理由
xdwy81129 + 3 实用的代码,谢谢

查看全部评分

回复

使用道具 举报

发表于 2011-1-17 21:56 | 显示全部楼层    本楼为最佳答案   
  1. Sub 填充()
  2. Dim arr2()
  3. row1 = Sheets(1).Range("H65536").End(xlUp).Row
  4. arr1 = Sheets(1).Range("h7:h" & row1)
  5. ReDim arr2(1 To UBound(arr1), 1 To 12)
  6. For i = 1 To UBound(arr1)
  7. If IsNumeric(arr1(i, 1)) Then
  8. x = CStr(arr1(i, 1) * 100)
  9. If x = "0" Then x = "000"
  10. For j = 1 To Len(x)
  11. arr2(i, 13 - j) = Mid(x, Len(x) + 1 - j, 1)
  12. Next j
  13. End If
  14. Next i
  15. Sheets(1).Range("y7").Resize(UBound(arr1), 12) = arr2
  16. End Sub
复制代码

金额各数字分别列填(VBA).rar (15.86 KB, 下载次数: 11)
回复

使用道具 举报

 楼主| 发表于 2011-1-17 23:22 | 显示全部楼层
本帖最后由 xdwy81129 于 2011-1-17 23:31 编辑

学习最佳答案
未命名.JPG
回复

使用道具 举报

发表于 2011-1-18 11:51 | 显示全部楼层
正是需要时
回复

使用道具 举报

发表于 2011-1-18 11:52 | 显示全部楼层
看看怎么搞的
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-10 07:19 , Processed in 0.779747 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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