Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
12
返回列表 发新帖
楼主: liangyi1190

[已解决]如何用VBA将代码输入单元格在这行会自动输入所需内容

[复制链接]
发表于 2014-6-24 21:02 | 显示全部楼层
是不是这样
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. If Target.Column <> 9 Then Exit Sub
  3. If Target.Row = 1 Then Exit Sub
  4. If Target.Count > 1 Then Exit Sub
  5. If Target = "" Then Target.Offset(, -8).Resize(, 8) = "": Exit Sub
  6. Dim arr
  7. arr = Sheets(2).Range("b2:h" & Sheets(2).[b65536].End(3).Row)
  8. Target.Offset(, -7).Resize(, 7) = Application.Index(arr, Target.Row + 1)
  9. If Target.Row = 2 Then Cells(2, 1) = 1 Else Cells(Target.Row, 1) = Cells(Target.Row - 1, 1) + 1
  10. End Sub
复制代码

清单.rar

67.14 KB, 下载次数: 21

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

使用道具 举报

 楼主| 发表于 2014-6-26 18:02 | 显示全部楼层
大灰狼1976 发表于 2014-6-24 16:21
只确认一点,序号排序怎么做,比如像你给出的附件,从15行开始输入的话,
由于15行以上都是空白的,那15行 ...

老师你好!A列的序号,按最后I列填代码时,从1逐个填充数字。若金额列中加入公式“单价×数量”该如何写?
回复

使用道具 举报

发表于 2014-6-26 19:54 | 显示全部楼层    本楼为最佳答案   
加一句代码就行
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. If Target.Column <> 9 Then Exit Sub
  3. If Target.Row = 1 Then Exit Sub
  4. If Target.Count > 1 Then Exit Sub
  5. If Target = "" Then Target.Offset(, -8).Resize(, 8) = "": Exit Sub
  6. Dim arr
  7. arr = Sheets(2).Range("b2:h" & Sheets(2).[b65536].End(3).Row)
  8. Target.Offset(, -7).Resize(, 7) = Application.Index(arr, Target.Row + 1)
  9. Target.Offset(, -2) = "=E" & Target.Row & "*F" & Target.Row
  10. If Target.Row = 2 Then Cells(2, 1) = 1 Else Cells(Target.Row, 1) = Cells(Target.Row - 1, 1) + 1
  11. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2014-6-27 17:39 | 显示全部楼层
大灰狼1976 发表于 2014-6-26 19:54
加一句代码就行

老师!可以做到不显示公式吗?
回复

使用道具 举报

发表于 2014-6-27 21:54 | 显示全部楼层
可以是可以的,但是自动输出内容时,数量是没有的,那么金额的结果会变成0.
或者你的意思是另外再加一个功能,数量列输入数据时,生成相应的金额?
这样也可以实现的,添加一个过程即可.你先答复一下
回复

使用道具 举报

 楼主| 发表于 2014-6-28 00:26 | 显示全部楼层
大灰狼1976 发表于 2014-6-27 21:54
可以是可以的,但是自动输出内容时,数量是没有的,那么金额的结果会变成0.
或者你的意思是另外再加一个功能, ...

可否像用IF函数一样


回复

使用道具 举报

发表于 2014-6-30 14:11 | 显示全部楼层
这个不是IF的问题,是自动输出内容时数量肯定是不存在的,
这个是没法改变的,所以不管怎么样,金额都会显示为0,有没有IF都一样。
回复

使用道具 举报

 楼主| 发表于 2014-6-30 21:22 | 显示全部楼层
大灰狼1976 发表于 2014-6-30 14:11
这个不是IF的问题,是自动输出内容时数量肯定是不存在的,
这个是没法改变的,所以不管怎么样,金额都会显 ...

知道了,谢谢老师!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 22:11 , Processed in 0.397304 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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