2014-09-25 58 views
0

我試圖使用vba代碼打印excel區域(AC120:AT128),當單元格值包含「X」時 此刻我的代碼打印出整個電子表格,但我只希望它打印出所選細胞區域。excel vba如果單元格在Excel電子表格中包含值打印區域?

有人可以告訴我怎麼做到這一點嗎?提前致謝。

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 

Dim celltxt As String 
celltxt = ActiveSheet.Range("AQ98").Text 
If InStr(1, celltxt, "X") Then 

Dim ws As Worksheet 
For Each ws In Worksheets 
If ws.Range("AQ98") = "X" Then 
ws.PrintOut 
End If 
Next ws 

Else 

End If 

End Sub 

回答

0

我不確定您使用的是什麼版本的Excel,但在Office 2010中,您可以簡單地使用。

Range("AC120:AT128").PrintOut()

或者

Selection.PrintOut()

您還可以使用設置打印區域功能,例如

ws.PageSetup.PrintArea = "AC120:AT128"

+1

感謝即時通訊使用2010年,凡在我行代碼abouts我把這個好嗎? – 2014-09-25 13:01:57

+0

如果我已經理解了你想達到的目標,你應該能夠刪除「ws.PrintOut」行並用「Range(」AC120:AT128「)。PrintOut」行代替它。 – 2014-09-25 13:12:40

+0

是的,我設法做到了這一點,感謝您的幫助,最後我能告訴它打印縱向頁面? – 2014-09-25 13:13:44

相關問題