Office中国论坛/Access中国论坛

标题: 求高手帮忙:如何根据条件插入行[已解决啦] [打印本页]

作者: zxyhyuan    时间: 2009-10-8 00:39
标题: 求高手帮忙:如何根据条件插入行[已解决啦]
本帖最后由 zxyhyuan 于 2009-10-15 16:39 编辑

[attach]39848[/attach]    我发上来的是我们这里的文化户口册,在打印时需要一户打印在一页上,我想每页设成15行,请高手帮帮忙为谢!
用下面这段代码就可以了
Sub 打印()
Dim x As Integer
Dim myRange As Range
Dim myUnion As Range
Dim c As Range
On Error Resume Next
Sheets("文化户口册 ").Select
irow1 = Sheets("文化户口册 ").[b65536].End(xlUp).Row

For i = 1 To irow1 Step 1
If Sheets("文化户口册 ").Cells(i, 2) = "户主" Then
y = i - 14
Set myRange = Range(Cells(y, 2), Cells(i - 1, 2))
myRange.Activate
Set c = myRange.Find(What:="户主", LookIn:=xlFormulas)
   c.Activate
   
x = c.Row
Z = i + (14 - (i - x))
If i - x < 15 Then
     
  Set myUnion = Range(Cells(i, 1), Cells(Z, 20))
  myUnion.Activate
  myUnion.Select
   Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
   

End If
  
End If

Next i

End Sub
作者: zxyhyuan    时间: 2009-10-8 00:50
本帖最后由 zxyhyuan 于 2009-10-8 00:56 编辑

A9单元格里的1为第一户,这一户一直到A15那一行,这里只有7行,要在这7行之后插入8行空白,才够一页,每页15行,第二户就是从A16开始.这样循环下去,(就是两个户主之间要隔14行),请高手帮忙,以户主为参照编一个程序,谢谢!
作者: zxyhyuan    时间: 2009-10-8 13:51
请高手帮帮忙,急用
作者: pureshadow    时间: 2009-10-8 21:37
只是为了打印么,不需要插入行,到分页预览里设置一下就好了。
作者: zxyhyuan    时间: 2009-10-9 11:35
请问楼主:怎么设
作者: zxyhyuan    时间: 2009-10-9 14:17
本帖最后由 zxyhyuan 于 2009-10-9 14:20 编辑

我想应该可以用VBA代码实现,因为数据量很大,全镇有将近一万户.如果用手工排要两天才能排完.请高手指教
作者: zxyhyuan    时间: 2009-10-9 14:32
请高手检查一下这段代码,错在什么地方,谢谢Sub 文化户口册打印()
Dim x As Integer
Dim y As Integer

   Application.DisplayAlerts = False '取消警告对话框
    Application.ScreenUpdating = False '取消屏幕更新

  For Each rw In Worksheets(文化户口册).Cells(1, 1).CurrentRegion.Rows
     this = rw.Cells(9, 2).Value = "户主"
      x = rw.Cells(9, 2).Rows
      y = x - 14
      
      Set myRange = Worksheets(文化户口册).Range("B" & y & ":B" & x - 1)
      answer = Application.WorksheetFunction.HLookup("户主", myRange, 1, False)
        
        If this = answer Then rw.Insert shift:=xlDown
        this = answer
        Next
        End Sub
作者: zxyhyuan    时间: 2009-10-9 16:11
楼上代码提示:下标越界
作者: zhufree    时间: 2009-10-9 16:31
拿个文件来比较好,
作者: pureshadow    时间: 2009-10-9 19:10
用分类汇总就可以了,不管是固定的行还是不固定的行。
作者: zxyhyuan    时间: 2009-10-12 10:43
本帖最后由 zxyhyuan 于 2009-10-12 10:44 编辑

请教上楼的管理员,可以用中文版的吗,你用的是英文版的,看不懂呀
作者: pureshadow    时间: 2009-10-12 12:40
就是利用分类汇总的功能。
数据》分类汇总,对话框里有个选项,每组数据分页,把这个选上就行。
然后全部查找“汇总”,整行删除即可。
OFFICE2010版还没有中文版
作者: 方漠    时间: 2009-10-12 12:55
http://www.office-cn.net/forum.p ... hlight=%B7%D6%D2%B3

请参考此工具.
作者: zxyhyuan    时间: 2009-10-14 10:10
请问楼主,那可以实现吗,如果有中文版的,麻烦发一个,好吗
作者: zxyhyuan    时间: 2009-10-14 10:11
麻烦编程高手,指点一下.




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3