Excel精英培训网

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

[已解决]请高手帮着看看这个程序怎么了

[复制链接]
 楼主| 发表于 2013-8-7 21:26 | 显示全部楼层
zjdh 发表于 2013-8-7 20:34
用你的宏稍作修改即可:
Sub TQ()
    Sheets("库存").Range("B3:D65536").ClearContents

先谢谢高手帮我实现了不重复数据的提取,但是没有实现提取数据按“产品名称”排序的目的,还请高手指点。
回复

使用道具 举报

发表于 2013-8-7 22:36 | 显示全部楼层
这容易:
  1. Sub TQ()
  2.     With Sheets("库存")
  3.     .Range("B3:D65536").ClearContents
  4.     Set dd = CreateObject("scripting.dictionary")
  5.     arr = Sheets("入库表").Range("B3:D" & Sheets("入库表").Range("D65536").End(xlUp).Row)
  6.     For x = 1 To UBound(arr)
  7.         sr = arr(x, 1) & "-" & arr(x, 2)
  8.         If Not dd.Exists(sr) Then
  9.             dd(sr) = ""
  10.             k = k + 1
  11.             arr(k, 1) = arr(x, 1)
  12.             arr(k, 2) = arr(x, 2)
  13.             arr(k, 3) = arr(x, 3)
  14.         End If
  15.     Next x
  16.     .Range("B3").Resize(k, 3) = arr
  17.     .Range("B3:G10000").Sort Key1:=Range("B3"), Order1:=xlAscending
  18.     End With
  19. End Sub
复制代码
提取多列不重复字段2.rar (37.13 KB, 下载次数: 8)
回复

使用道具 举报

 楼主| 发表于 2013-8-8 09:53 | 显示全部楼层
zjdh 发表于 2013-8-7 22:36
这容易:

再次感谢高手的帮助,实现了排序,但是我还想以“产品名称”为主关键字和以“规格型号”为次关键字,进行排序,程序应该怎样写。
回复

使用道具 举报

发表于 2013-8-8 10:03 | 显示全部楼层
修改这一句
.Range("B3:G10000").Sort Key1:=Range("B3"), Key2:=Range("C3"), Order1:=xlAscending
回复

使用道具 举报

 楼主| 发表于 2013-8-8 16:54 | 显示全部楼层
zjdh 发表于 2013-8-8 10:03
修改这一句
.Range("B3:G10000").Sort Key1:=Range("B3"), Key2:=Range("C3"), Order1:=xlAscending

再次谢谢高手的帮助,但是我还有一个问题需要你的帮助,就是在这个程序运行的表格中,有两列含有公式我为防止误改,对这两列进行了公式隐藏和锁定,在保护工作表后,运行该程序就出现错误提示:“类range的sort的方法无效”,不知应该怎样修改那。
回复

使用道具 举报

发表于 2013-8-8 18:05 | 显示全部楼层    本楼为最佳答案   
提取多列不重复字段3.rar (36.83 KB, 下载次数: 9)
回复

使用道具 举报

 楼主| 发表于 2013-8-8 20:50 | 显示全部楼层
zjdh 发表于 2013-8-8 18:05

非常感谢高手,问题已经解决。{:1112:}
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-2 16:51 , Processed in 0.261123 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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