使用表格作为电子收据,并希望在一张纸上打印两份。如何在打印时复制表单?
答案 0 :(得分:0)
如果我正确地理解你 - 我认为没有超级直接的方法来做到这一点。这是我推荐的......
这是一种在Excel中工作的方法。我创建了一个隐藏的工作表(工作表3设置为隐藏),以便我的用户看不到它。我在“打印”按钮中使用此代码:
Private Sub CommandButton1_Click()
'ALT+Printscreen to screen capture the form
Application.SendKeys "%{1068}"
'Paste on a hidden sheet
Sheet3.Paste Destination:=Worksheets("Sheet3").Range("A1")
Sheet3.Paste Destination:=Worksheets("Sheet3").Range("A6")
'Print hidden sheet.
Sheet3.PrintOut
End Sub
这能解决您的问题吗?
答案 1 :(得分:0)
感谢您的帮助。我无法使用这些建议 - 尼古拉斯你完全得到了我想要的东西 - 但是采用了这种相当低技术的解决方案。通过在另一个电子表格上创建“模拟”表单,我能够将用户表单控件中的值写入电子表格中的特定单元格,复制下面的模拟表单,从而在一页上打印两个 - 用于收据的两个副本。这是我使用的代码:
Private Sub PrintCMD_Click()
'将表单值加载到电子表格2
Sheet2.Activate
Range("A1:K16").Select
Range("B3").Value = DateTimeTXT.Value
Range("B5").Value = StrConv(FirstNameTXT.Value, vbUpperCase)
Range("C5").Value = StrConv(LastNameTXT.Value, vbUpperCase)
Range("J5").Value = RelationshipCBO.Value
Range("B7").Value = PaymentType1CBO.Value
Range("B9").Value = Ref1TXT.Value
Range("B11").Value = AmountTXT.Value
Range("B13").Value = ApplyToCBO.Value
Range("F7").Value = PaymentType2CBO.Value
Range("F9").Value = REF2TXT.Value
Range("F11").Value = Amount2TXT.Value
Range("F13").Value = ApplyTo2CBO.Value
Range("F15").Value = TotalAmountTXT.Value
Range("J7").Value = PatientNumberTXT.Value
Range("J9").Value = ClinicCBO.Value
Range("J11").Value = ProviderCBO.Value
Range("J13").Value = InitialsTXT.Value
Range("J15").Value = ReceiptTXT.Value
'打印收据表
Range("A1:K16").Select
Selection.Copy
ActiveWindow.SmallScroll Down:=9
Range("A20").Select
ActiveSheet.Paste
ActiveWindow.SmallScroll Down:=12
Range("A1:K35").Select
Range("K35").Activate
Application.CutCopyMode = False
ActiveSheet.PageSetup.PrintArea = "$A$1:$K$35"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End Sub