Excel精英培训网

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

[已解决]求代码

[复制链接]
发表于 2012-2-29 14:15 | 显示全部楼层 |阅读模式
999.rar (42.05 KB, 下载次数: 20)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
 楼主| 发表于 2012-2-29 15:42 | 显示全部楼层
回复

使用道具 举报

发表于 2012-2-29 16:35 | 显示全部楼层    本楼为最佳答案   
试试:
Sub test()
Dim ar1(), ar2()
With Sheets(4)
  .Cells.Clear
  r% = 1
  For i% = 1 To 3
    Sheets(i).[a65536].End(xlUp)(2, 2) = 100
    ar1 = Sheets(i).UsedRange.Value
    Sheets(i).UsedRange.Sort Sheets(i).[b1], , , , , , , xlYes
    ar2 = Sheets(i).UsedRange.Value
    r1% = 2
    r2% = 2
    Do While r1 < UBound(ar2)
       If ar2(r1, 2) <> ar2(r2, 2) Then
         .Cells(r, 1) = Left(Sheets(i).Name, 1) & ar2(r1, 2) & "班学生考试信息"
         .Range("a" & r & ":k" & r).Merge
         .Range("a" & r + 1 & ":k" & r + 1) = [{"姓名","班级","考号","考场","教室","","姓名","班级","考号","考场","教室"}]
         Sheets(i).Cells(r1, 1).Resize(Int(0.6 + (r2 - r1) / 2), 5).Copy .Cells(r + 2, 1)
         r1 = r1 + Int(0.6 + (r2 - r1) / 2)
         Sheets(i).Cells(r1, 1).Resize(r2 - r1, 5).Copy .Cells(r + 2, 7)
         r = .[a65536].End(3).Row + 1
         r1 = r2
       End If
       r2 = r2 + 1
     Loop
    Sheets(i).UsedRange = ar1
    Sheets(i).[a65536].End(xlUp)(2, 2).Clear
  Next
  .Cells.HorizontalAlignment = xlCenter
End With
End Sub
回复

使用道具 举报

 楼主| 发表于 2012-2-29 18:40 | 显示全部楼层
青城山苦丁茶 发表于 2012-2-29 16:35
试试:
Sub test()
Dim ar1(), ar2()

太谢谢您了,成功了啊,您真行啊,不过我想要的不是18张表啊,只要能看见一张啊,表头运用数据的有效性,当选定七1时出现七1班的那张信息表,当选定九1班时出现九1班的那张表啊,请再次帮我一下好吗
回复

使用道具 举报

发表于 2012-2-29 18:50 | 显示全部楼层
779846526 发表于 2012-2-29 18:40
太谢谢您了,成功了啊,您真行啊,不过我想要的不是18张表啊,只要能看见一张啊,表头运用数据的有效性, ...

晕。。你不早说,代码完全不一样。。。

你的附件里数据有效性设置在什么地方呢?
回复

使用道具 举报

发表于 2012-2-29 18:57 | 显示全部楼层
猜测着做的,就现在也没看懂他四楼说的是什么意思
回复

使用道具 举报

 楼主| 发表于 2012-2-29 19:24 | 显示全部楼层
无聊的疯子 发表于 2012-2-29 18:50
晕。。你不早说,代码完全不一样。。。

你的附件里数据有效性设置在什么地方呢?

第一行,能让标题居中啊
回复

使用道具 举报

 楼主| 发表于 2012-2-29 19:26 | 显示全部楼层
青城山苦丁茶 发表于 2012-2-29 18:57
猜测着做的,就现在也没看懂他四楼说的是什么意思

真对不起啊,让您受累了!对不起啊
回复

使用道具 举报

发表于 2012-2-29 19:40 | 显示全部楼层
779846526 发表于 2012-2-29 19:24
第一行,能让标题居中啊

只要能看见一张啊,表头运用数据的有效性

原来你是想给你设计一个表头使用数据有效性,直接选择然后就生成了?

这样的话,需要将你的数据做规范处理,不然用代码处理你的数据很麻烦
回复

使用道具 举报

 楼主| 发表于 2012-2-29 19:53 | 显示全部楼层
青城山苦丁茶 发表于 2012-2-29 18:57
猜测着做的,就现在也没看懂他四楼说的是什么意思

补充说明.rar (3.22 KB, 下载次数: 1)
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-1 12:52 , Processed in 0.264834 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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