Excel精英培训网

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

[已解决]有个小插件需要老师帮忙写注解~~

[复制链接]
发表于 2016-7-20 10:08 | 显示全部楼层 |阅读模式
有个小插件需要老师帮忙写注解~~
请老师帮帮忙些个注解~看不明白呢~~
  1. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  2.     If Target.Column = 1 And Target.Count = 1 And Target.Row > 2 Then Range("E100").End(3)(2) = Target
  3.     If Target.Column = 2 And Target.Count = 1 And Target.Row > 2 Then Range("F100").End(3)(2) = Target
  4.     If Target.Column = 3 And Target.Count = 1 And Target.Row > 2 Then Range("G100").End(3)(2) = Target
  5.     If Target.Column > 4 And Target.Column < 8 And Target.Count = 1 Then
  6.         Target = ""
  7.         C = Target.Column
  8.         For I = Target.Row To Cells(100, C).End(3).Row
  9.             Cells(I, C) = Cells(I + 1, C)
  10.         Next
  11.     End If
  12. End Sub
复制代码
谢谢了哦
最佳答案
2016-7-20 13:45
不知道这样写能不能明白:
  1. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  2.     '当当所选前单元格所在列为A列,且选中的单元格个数为1个,同时该单元格的行号大于2时,将该单元格的值追加至E列
  3.     '即实现单机A列除A1,A2单元格以往的任意单元格,将该单元格的值追加至E列末尾
  4.     If Target.Column = 1 And Target.Count = 1 And Target.Row > 2 Then Range("E100").End(3)(2) = Target
  5.     '即实现单机B列除B1,B2单元格以往的任意单元格,将该单元格的值追加至F列末尾
  6.     If Target.Column = 2 And Target.Count = 1 And Target.Row > 2 Then Range("F100").End(3)(2) = Target
  7.     '即实现单机C列除C1,C2单元格以往的任意单元格,将该单元格的值追加至G列末尾
  8.     If Target.Column = 3 And Target.Count = 1 And Target.Row > 2 Then Range("G100").End(3)(2) = Target
  9.     '当单击选中E-G列中的任意一个单元格时执行清空当前所选单元格,且将下面的数据上移
  10.     If Target.Column > 4 And Target.Column < 8 And Target.Count = 1 Then
  11.         '清空当前单元格的值,使其为空
  12.         Target = ""
  13.         '取得当前单元格所在的列号
  14.         C = Target.Column
  15.         '通过for循环将当前单元格下面的值往上移动
  16.         For I = Target.Row To Cells(100, C).End(3).Row
  17.             Cells(I, C) = Cells(I + 1, C)
  18.         Next
  19.     End If
  20. End Sub
复制代码
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2016-7-20 13:45 | 显示全部楼层    本楼为最佳答案   
不知道这样写能不能明白:
  1. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  2.     '当当所选前单元格所在列为A列,且选中的单元格个数为1个,同时该单元格的行号大于2时,将该单元格的值追加至E列
  3.     '即实现单机A列除A1,A2单元格以往的任意单元格,将该单元格的值追加至E列末尾
  4.     If Target.Column = 1 And Target.Count = 1 And Target.Row > 2 Then Range("E100").End(3)(2) = Target
  5.     '即实现单机B列除B1,B2单元格以往的任意单元格,将该单元格的值追加至F列末尾
  6.     If Target.Column = 2 And Target.Count = 1 And Target.Row > 2 Then Range("F100").End(3)(2) = Target
  7.     '即实现单机C列除C1,C2单元格以往的任意单元格,将该单元格的值追加至G列末尾
  8.     If Target.Column = 3 And Target.Count = 1 And Target.Row > 2 Then Range("G100").End(3)(2) = Target
  9.     '当单击选中E-G列中的任意一个单元格时执行清空当前所选单元格,且将下面的数据上移
  10.     If Target.Column > 4 And Target.Column < 8 And Target.Count = 1 Then
  11.         '清空当前单元格的值,使其为空
  12.         Target = ""
  13.         '取得当前单元格所在的列号
  14.         C = Target.Column
  15.         '通过for循环将当前单元格下面的值往上移动
  16.         For I = Target.Row To Cells(100, C).End(3).Row
  17.             Cells(I, C) = Cells(I + 1, C)
  18.         Next
  19.     End If
  20. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2016-7-27 09:58 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 13:21 , Processed in 0.262972 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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