【问题标题】:excel vba if cell contains value print area in excel spreadsheet?如果单元格在excel电子表格中包含值打印区域,则excel vba?
【发布时间】:2014-09-25 12:42:03
【问题描述】:

当单元格值包含“X”时,我正在尝试使用 vba 代码打印 excel 区域 (AC120:AT128) 目前我的代码打印出整个电子表格,但我只希望它打印出选定的单元格区域。

有人可以告诉我如何实现这一目标吗?提前致谢。

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

【问题讨论】:

    标签: excel vba printing


    【解决方案1】:

    我不确定您使用的是哪个版本的 Excel,但在 Office 2010 中,您可以直接使用。

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

    或者

    Selection.PrintOut()

    您也可以使用设置打印区域功能,例如

    ws.PageSetup.PrintArea = "AC120:AT128"

    【讨论】:

    • 感谢我使用 2010,请问我将在我的代码行中的什么位置?
    • 如果我理解了您想要实现的目标,您应该能够删除“ws.PrintOut”行并将其替换为“Range("AC120:AT128").PrintOut”行.
    • 是的,我设法做到了,感谢您的帮助,最后一件事我可以告诉它以纵向打印页面吗?
    • ws.PageSetup.Orientation=xlLandscape 或 ws.PageSetup.Orientation=xlPortrait
    猜你喜欢
    • 2017-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-03
    • 2011-12-14
    • 1970-01-01
    相关资源
    最近更新 更多