Excel精英培训网

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

[已解决]提取相反边的数据

[复制链接]
发表于 2016-6-10 13:59 | 显示全部楼层 |阅读模式
本帖最后由 excelpxfans001 于 2016-6-10 19:14 编辑

提取相反边的数据,麻烦老师看下哦。
最佳答案
2016-6-10 20:38
本帖最后由 老司机带带我 于 2016-6-11 19:28 编辑
excelpxfans001 发表于 2016-6-10 20:34
你好,还是有错误哦。

你自己在测试下

取相反数据.zip

9.93 KB, 下载次数: 16

发表于 2016-6-10 15:22 | 显示全部楼层
脑子有点转不过来,你自己测试下
  1. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  2.     Dim arr(0 To 4), brr(0 To 4)
  3.     If Target.Count > 1 Then Exit Sub
  4.     If Target.Row < 7 Or Target.Row > 20 Then Exit Sub
  5.     If Target.Column < 2 Or Target.Column > 18 Then Exit Sub
  6.     If Target.Offset(-1, 0) = "" Then Exit Sub
  7.     For i = 0 To 4
  8.         If Target.Value + i > 9 Then
  9.             arr(i) = Target.Value + i - 10
  10.         Else
  11.             arr(i) = Target.Value + i
  12.         End If
  13.         If Target.Value - i - 1 < 0 Then
  14.             brr(i) = Target.Value - i + 9
  15.         Else
  16.             brr(i) = Target.Value - i - 1
  17.         End If
  18.     Next
  19.     If Target.Offset(-1, 0).Value > Target.Value Then
  20.         If Target.Offset(-1, 0).Value - Target.Value < 5 Then
  21.             Sheet1.[ar1:ar5] = Application.WorksheetFunction.Transpose(arr)
  22.             Sheet1.[aq1:aq5] = Application.WorksheetFunction.Transpose(brr)
  23.         Else
  24.             Sheet1.[ar1:ar5] = Application.WorksheetFunction.Transpose(brr)
  25.             Sheet1.[aq1:aq5] = Application.WorksheetFunction.Transpose(arr)
  26.         End If
  27.     Else
  28.         If Abs(Target.Offset(-1, 0).Value - Target.Value) < 5 Then
  29.             Sheet1.[ar1:ar5] = Application.WorksheetFunction.Transpose(arr)
  30.             Sheet1.[aq1:aq5] = Application.WorksheetFunction.Transpose(brr)
  31.         Else
  32.             Sheet1.[ar1:ar5] = Application.WorksheetFunction.Transpose(brr)
  33.             Sheet1.[aq1:aq5] = Application.WorksheetFunction.Transpose(arr)
  34.         End If
  35.     End If
  36. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2016-6-10 17:10 | 显示全部楼层
老司机带带我 发表于 2016-6-10 15:22
脑子有点转不过来,你自己测试下

你好老师,不要自动的,改成运行代码的如何改的。麻烦您再看下哦。
回复

使用道具 举报

 楼主| 发表于 2016-6-10 17:23 | 显示全部楼层
老司机带带我 发表于 2016-6-10 15:22
脑子有点转不过来,你自己测试下

麻烦老师看下哦。

包含所在边相反填充红色222.zip

16.83 KB, 下载次数: 5

回复

使用道具 举报

发表于 2016-6-10 19:54 | 显示全部楼层
看附件

包含所在边相反填充红色222.rar

19.83 KB, 下载次数: 4

回复

使用道具 举报

 楼主| 发表于 2016-6-10 20:34 | 显示全部楼层
本帖最后由 excelpxfans001 于 2016-6-10 20:40 编辑
老司机带带我 发表于 2016-6-10 19:54
看附件

你好,还是有错误哦。

包含所在边相反填充红色333.zip

18.02 KB, 下载次数: 4

示例1.zip

17.95 KB, 下载次数: 2

回复

使用道具 举报

发表于 2016-6-10 20:38 | 显示全部楼层    本楼为最佳答案   
本帖最后由 老司机带带我 于 2016-6-11 19:28 编辑
excelpxfans001 发表于 2016-6-10 20:34
你好,还是有错误哦。

你自己在测试下

提取相反数.rar

20.15 KB, 下载次数: 10

回复

使用道具 举报

 楼主| 发表于 2016-6-10 20:48 | 显示全部楼层
老司机带带我 发表于 2016-6-10 20:38
你自己在测试下

可以。只是结果未从小到大排列。 谢谢老师
回复

使用道具 举报

 楼主| 发表于 2016-6-11 17:31 | 显示全部楼层
本帖最后由 excelpxfans001 于 2016-6-11 17:43 编辑
老司机带带我 发表于 2016-6-10 20:38
你自己在测试下

你好。验证发现有一个情况有错误。估计是您说的6-1=5临界值造成的。麻烦老师看下。

提取相反数.zip

18.95 KB, 下载次数: 6

回复

使用道具 举报

发表于 2016-6-11 19:28 | 显示全部楼层
附件已更新

提取相反数.rar

20.15 KB, 下载次数: 7

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 00:35 , Processed in 0.612738 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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