首页 > 解决方案 > 在 VBA 上打印出 ActiveCell 值

问题描述

我正在尝试制作一个按钮,单击该按钮会将单元格的值打印为字符串,而不是.PrintOut使用VBA. 该单元格是活动单元格,我根据它旁边的单元格设置其值。这是我的代码:

Sub Graphic2_Click()
    Dim MyNumber as Integer
    MyNumber = ActiveCell.Offset(-1, 0) + 1
    ActiveCell.Value = MyNumber
    ActiveCell.Printout
End Sub

我也尝试过MyNumber.PrintOut,但出现“无效的限定符”错误。

我错过了一些太简单的东西吗?

标签: excelvba

解决方案


请尝试下一个代码。它使用一个临时的“辅助单元格”来粘贴格式(并在打印出来后恢复):

Sub Graphic2_Click()
  Dim helperCell As Range

  With ActiveCell
    .value = CLng(Offset(-1, 0)) + 1
    Set helperCell = .Offset(1) 'it may be any cell to temporarilly be used
    .Copy
    helperCell.PasteSpecial xlPasteFormats
    .ClearFormats
    .PrintOut
    helperCell.Copy
    .PasteSpecial xlPasteFormats: helperCell.ClearFormats
  End With
End Sub

推荐阅读