ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 怎么把填入的数字自动分入已经分好的元角分单元格

[复制链接]

TA的精华主题

TA的得分主题

发表于 2020-3-17 12:02 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 vse3679 于 2020-3-17 16:52 编辑

我在EXCEL表中已经分好了千百十元角分的单元格,我希望我输入1234的时候,能自动把1填入千的那一列格子下,2自动填入百的那一列格子下这样的,我上传了效果图,我想像效果图那样,当我输入金额的时候单元格就像变成合并在一起一样,然后移动到其他单元格的时候单元格会自动分开,并且会把数字自动分到元角分的单元格下,不知道EXCEL表可不可以这样做。
效果图.jpg

样式.7z

12.54 KB, 下载次数: 21

TA的精华主题

TA的得分主题

发表于 2020-3-17 12:06 | 显示全部楼层
I7输入数值,J7 右拖:=LEFT(RIGHT(" "&$I7/1%,11-COLUMN(A1)))

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-3-17 12:42 | 显示全部楼层
solextrade 发表于 2020-3-17 12:06
I7输入数值,J7 右拖:=LEFT(RIGHT(" "&$I7/1%,11-COLUMN(A1)))

我上传了效果图,我想变成图上的那样,输入34.5的时候单元格像合并成一起那样,然后我移动到其他单元格他会自动把数字分别填入元角分的格子下面

TA的精华主题

TA的得分主题

发表于 2020-3-17 14:04 | 显示全部楼层
你要在附件中加入一个示例,再把计算逻辑,要求说清楚。

TA的精华主题

TA的得分主题

发表于 2020-3-17 14:10 | 显示全部楼层
没看到演示,只是一个图片。如果是单元格输入数字,结果自动分列。那应该需要代码来完成,函数是需要有一个数据源输入数据,然后在结果区域写公式得到结果。至少涉及两个不同的单元格

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-3-17 14:16 | 显示全部楼层
本帖最后由 vse3679 于 2020-3-17 14:19 编辑
3312477731 发表于 2020-3-17 14:04
你要在附件中加入一个示例,再把计算逻辑,要求说清楚。

我上面不是说了想按效果图中那样,效果图中金额栏下面不是有元角分么,元角分下面的那一栏输入34.5的时候格子不是会像合并在一起那样么?然后移动到其他格子的时候会自动把34.5分别列入十、元、角的那一列下面,我就也想要这个效果

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-3-17 14:25 | 显示全部楼层
本帖最后由 vse3679 于 2020-3-17 14:28 编辑
micch 发表于 2020-3-17 14:10
没看到演示,只是一个图片。如果是单元格输入数字,结果自动分列。那应该需要代码来完成,函数是需要有一个 ...

我想要的就是你说的单元格输入数字,结果自动分列。。我不知道这需要代码,看来我问错的版块了。。。,但我也不知道代码的问题要在哪个版块问。

TA的精华主题

TA的得分主题

发表于 2020-3-17 14:36 | 显示全部楼层
vse3679 发表于 2020-3-17 14:25
我想要的就是你说的单元格输入数字,结果自动分列。。我不知道这需要代码,看来我问错的版块了。。。 ...

VBA开发

需要写个工作表事件

你需要了解一些代码使用的基础

TA的精华主题

TA的得分主题

发表于 2020-3-17 15:07 | 显示全部楼层
本帖最后由 micch 于 2020-3-17 15:09 编辑

c.gif

大概是这么个意思吧?我代码写不好,你可以在VBA开发求助,看看其他老师写的代码

  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.     If Target.Column > 9 And Target.Column < 21 And Target.Count = 1 And IsNumeric(Target.Value) Then
  3.         x = Round(Target(1).Value * 100)
  4.         Dim ar(1 To 11)
  5.         For i = 1 To 11
  6.             ar(12 - i) = Left(Right(" $" & x, i), 1)
  7.         Next
  8.         Cells(Target.Row, 10).Resize(, 11) = ar
  9.     End If
  10. End Sub
复制代码


评分

2

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-3-17 16:28 | 显示全部楼层
micch 发表于 2020-3-17 15:07
大概是这么个意思吧?我代码写不好,你可以在VBA开发求助,看看其他老师写的代码

哇,就是这个意思。但我不会根据我那张表格变更代码。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

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

GMT+8, 2024-4-20 00:19 , Processed in 0.048450 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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