2011-07-02 34 views

回答

2

我不知道你是什么意思 但是当用户更改列B的细胞

Private Sub Worksheet_Change(ByVal Target As Range) 
    If Target.Column = 2 And Target.Columns.Count = 1 Then 
     ThisWorkbook.ActiveSheet.PrintOut 
    End If 
End Sub 

评论

编辑后,下面的代码将打印工作表那么这就是你需要:

Sub PaginateBasedOnColB() 
    Dim lngRowsCount As Long 
    Dim lngCounter As Long 

    lngRowsCount = ThisWorkbook.ActiveSheet.UsedRange.Rows.Count 

    MsgBox lngRowsCount 

    For lngCounter = 1 To lngRowsCount 

     If ThisWorkbook.ActiveSheet.Cells(lngCounter, 2) <> _ 
      ThisWorkbook.ActiveSheet.Cells(lngCounter + 1, 2) Then 
      ThisWorkbook.ActiveSheet.HPageBreaks.Add (ThisWorkbook.ActiveSheet.Range("B" & lngCounter + 1)) 
     End If 

    Next lngCounter 
End Sub 
+0

它是这样的我有一个回合30000行的excel当我想打印表格我想开始新的页面时例如 – Nueng

+0

行100 columb是纽约行101列b是华盛顿我怎样才能让它开始新页 – Nueng

+0

将新代码添加到工作表的VBA代码中并按下F5里面的Sub – AMIB