带有用户提示的Excel VBA打印button

我正在尝试使用特定的范围在Excel中创build一个打印button。 列从不改变,但行。

我的目标是用户可以点击PrintButton。 之后,提示询问他想要使用的行。

这是我到目前为止,但我卡住= /

Option Explicit Private Sub CommandButton1_Click() Dim myValue As Variant myValue = InputBox("Please enter the row you're working on.", "Enter Row", "") ActiveSheet.PageSetup.PrintArea = Range("N" & myValue, "O" & myValue) ActiveSheet.PrintOut ActiveSheet.PageSetup.PrintArea = False End Sub 

任何提示如何进行?

谢谢你,祝你有美好的一天! =)

编辑:经过一点研究,我想出了以下代码:

 Option Explicit Private Sub CommandButton1_Click() Sheets("HARDWARE-INVENTORY").Select Dim myValue As Variant myValue = InputBox("Please enter the row you're working on.", "Enter Row", "") Dim myRange As Range Set myRange = Range("N" & myValue & ":O" & myValue) myRange.PrintOut End Sub 

现在我只需要弄清楚如何排除冻结的标题行。

像这样使用Application.InputBox来让用户select一个范围

8最后一个参数告诉Excel用户应该返回一个范围

 Dim rng1 As Range Set rng1 = Application.InputBox("Select row", "Enter Row", ActiveCell.EntireRow.Address, , , , , 8) rng1.PrintOut 

更长的版本与error handling

 Sub A2() Dim rng1 As Range On Error Resume Next Set rng1 = Application.InputBox("Select row", "Enter Row", ActiveCell.EntireRow.Address, , , , , 8) On erorr GoTo 0 'no range If rng1 Is Nothing Then Exit Sub If rng1.Rows.Count = 1 Then rng1.PrintOut Else MsgBox "too many rows", vbCritical End If End Sub