Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2045|回复: 3

[已解决]打印当前表并把数据录到其他表

[复制链接]
发表于 2015-6-27 14:13 | 显示全部楼层 |阅读模式
本帖最后由 爱疯 于 2015-6-30 09:39 编辑

我有两个页签,一个是打印收据、二个是收款明细,如上表是要打印的数据,这些是要我手动输入数据,我想做一个按钮,这个按钮可以实现的功能就是以房号和收款事项为条件去查找到收款明细这个表里面的对应位置并把数据录入,录入的同时也把当前的收取的时间也录入进去,因为有几次收款时间,所以要录入最近的一笔,比如之前收过两笔钱了,这次打印的话就要录到第三笔,然后再把打印数据这个表发送到打印机打印。可以用什么实现,宏或者vba什么的,希望高手来帮帮忙。有酬谢,加我qq1229910275.

录入并打印.rar (6.8 KB, 下载次数: 5)

收款明细

收款明细

打印表

打印表
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
 楼主| 发表于 2015-7-1 14:47 | 显示全部楼层
回复

使用道具 举报

发表于 2015-7-1 19:12 | 显示全部楼层    本楼为最佳答案   
Sub 按钮1_Click()
Dim rng As Range
Dim i As Long
    Set rng = Sheet1.Range("B:B").Find(Sheet2.Range("S5"))
     If Not rng Is Nothing Then
     MsgBox rng.Row
       If Sheet1.Cells(rng.Row, 4) = "" Then
          Sheet1.Cells(rng.Row, 4) = Sheet2.Range("S3")
       End If

       If Sheet2.Range("S11") = "定金" Then
          For i = 8 To 10 Step 2
          If Sheet1.Cells(rng.Row, i) = "" Then
          Sheet1.Cells(rng.Row, i) = Sheet2.Range("S2")
          Sheet1.Cells(rng.Row, i - 1) = Sheet2.Range("S15")
          GoTo 2000
          End If
          Next i
       ElseIf Sheet2.Range("S11") = "房款" Then
       For i = 12 To 18 Step 2
          If Sheet1.Cells(rng.Row, i) = "" Then
          Sheet1.Cells(rng.Row, i) = Sheet2.Range("S2")
          Sheet1.Cells(rng.Row, i - 1) = Sheet2.Range("S15")
          GoTo 2000
          End If
          Next i
       End If
    Else
        MsgBox rng.Row
    End If
2000:
打印
End Sub

Sub 打印()
ActiveSheet.PageSetup.PrintArea = Range(Cells(1, 1), Cells(16, 17)).Address
Sheets("打印数据").PrintOut
End Sub


录入并打印.rar

13.23 KB, 下载次数: 9

回复

使用道具 举报

 楼主| 发表于 2015-7-1 20:10 | 显示全部楼层
很好很强大!!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-17 04:00 , Processed in 0.263413 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表