Excel精英培训网

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

[已解决]求助生成时能否自动生成序号和在生成最后一行生成统计金额

[复制链接]
发表于 2014-11-12 21:57 | 显示全部楼层 |阅读模式
本帖最后由 qinhuan66 于 2014-11-13 09:26 编辑

求助生成时能否自动生成序号和在生成最后一行生成统计金额  谢谢

求助1.rar (35.37 KB, 下载次数: 26)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2014-11-12 22:24 | 显示全部楼层
录个宏,A列序列号填充,自定义格式000
回复

使用道具 举报

 楼主| 发表于 2014-11-12 22:29 | 显示全部楼层
hwc2ycy 发表于 2014-11-12 22:24
录个宏,A列序列号填充,自定义格式000

哦原来是那个方法。我以前做过不过生成以后有公式的
回复

使用道具 举报

发表于 2014-11-12 22:44 | 显示全部楼层
可以
回复

使用道具 举报

发表于 2014-11-12 23:03 | 显示全部楼层
合计可以搜下,貌似有相关的代码,公式好长呀。
回复

使用道具 举报

 楼主| 发表于 2014-11-12 23:15 | 显示全部楼层
hwc2ycy 发表于 2014-11-12 23:03
合计可以搜下,貌似有相关的代码,公式好长呀。

好的。好像小写金额转大写金额录制宏录不了。还是算了。还是谢谢你一直以来的帮忙
回复

使用道具 举报

发表于 2014-11-13 08:02 | 显示全部楼层
  1.     If AdoRst.RecordCount > 0 Then

  2.         Range("b4").CopyFromRecordset AdoRst
  3.         Application.ScreenUpdating = True

  4.         MsgBox "一共查询到了 " & AdoRst.RecordCount & " 条记录"
  5.         Range("a4").Resize(AdoRst.RecordCount, 11).Borders.LineStyle = 1
  6.         Dim arr
  7.         arr = Application.Evaluate("=row(a1:a" & AdoRst.RecordCount & ")")
  8.         With Range("a4").Resize(AdoRst.RecordCount)
  9.             .Value = arr
  10.             .NumberFormat = "000"
  11.     Else
  12.         MsgBox "没有符合条件的记录"
  13.     End If
复制代码
序号一段的代码,直接替换原有的那一段if adorst.recordcount那一段。

评分

参与人数 1 +3 收起 理由
qinhuan66 + 3 很给力!谢谢版主指点。谢谢

查看全部评分

回复

使用道具 举报

发表于 2014-11-13 08:05 | 显示全部楼层    本楼为最佳答案   
  1. Private Sub CommandButton1_Click()
  2.     Const adUseClient = 3
  3.     Const adModeRead = 1
  4.     Dim AdoConn As Object, AdoRst As Object
  5.     Dim strConn$, strSQL$, strFullname$, strCondition$
  6.     Dim blnHasHeader As Boolean

  7.     On Error GoTo ErrorHandler
  8.     blnHasHeader = True
  9.     strFullname = ThisWorkbook.FullName

  10.     Set AdoConn = CreateObject("ADODB.Connection")
  11.     strSQL = "select 定点医疗机构名称,分类,发生人次,总费用,统筹支付,IC卡支付,公务员补助,大额补助,扣减费用,实际应付 from [数据库$a1:o] "

  12.     If Len(Range("b2").Value) Then
  13.         strCondition = " 定点医疗机构名称='" & Range("b2").Value & "' and "
  14.     End If

  15.     If Len(Range("f2").Value) Then
  16.         strCondition = strCondition & "报表时间=#" & Range("f2").Value & "# and "
  17.     End If

  18.     If Len(Range("j2").Value) Then
  19.         strCondition = strCondition & "报表类别='" & Range("j2").Value & "' and "
  20.     End If

  21.     If Len(strCondition) Then
  22.         strSQL = strSQL & "where " & Left(strCondition, Len(strCondition) - 5)
  23.     End If

  24.     Select Case Application.Version
  25.     Case "14.0", "15.0", "12.0"
  26.         strConn = "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source='" & _
  27.                   strFullname & "';Extended Properties='Excel 12.0;HDR=" & blnHasHeader & ";imex=1';"
  28.     Case Else
  29.         strConn = "Provider= Microsoft.Jet.OLEDB.4.0;" & _
  30.                   "Data Source='" & strFullname & "';Extended Properties='Excel 8.0;HDR=" & blnHasHeader & ";imex=1';"
  31.     End Select

  32.     'Debug.Print strConn

  33.     With AdoConn
  34.         .CommandTimeout = 5
  35.         .ConnectionTimeout = 5
  36.         .CursorLocation = adUseClient
  37.         .Mode = adModeRead
  38.         .ConnectionString = strConn
  39.         .Open
  40.     End With

  41.     'MsgBox strSQL
  42.     Application.ScreenUpdating = False
  43.     Dim lRow&
  44.     Set AdoRst = AdoConn.Execute(strSQL)
  45.     lRow = Cells(Rows.Count, 2).End(xlUp).Row

  46.     If lRow > 3 Then
  47.         Range("a4:k" & lRow).Clear
  48.     End If

  49.     If AdoRst.RecordCount > 0 Then
  50.         Range("b4").CopyFromRecordset AdoRst
  51.         MsgBox "一共查询到了 " & AdoRst.RecordCount & " 条记录"
  52.         Range("a4").Resize(AdoRst.RecordCount, 11).Borders.LineStyle = 1
  53.         Dim arr
  54.         arr = Application.Evaluate("=row(a1:a" & AdoRst.RecordCount & ")")
  55.         With Range("a4").Resize(AdoRst.RecordCount)
  56.             .Value = arr
  57.             .NumberFormat = "000"
  58.         End With
  59.     Else
  60.         MsgBox "没有符合条件的记录"
  61.     End If
  62.     Application.ScreenUpdating = True
  63.     AdoConn.Close
  64.     Exit Sub

  65. ErrorHandler:
  66.     MsgBox Err.Number & vbCrLf & _
  67.            Err.Description
  68.     Application.ScreenUpdating = True
  69.     Set AdoRst = Nothing
  70.     Set AdoConn = Nothing
  71. End Sub
复制代码

评分

参与人数 1 +3 收起 理由
qinhuan66 + 3 很给力!谢谢版主

查看全部评分

回复

使用道具 举报

发表于 2014-11-16 08:34 | 显示全部楼层
hwc2ycy 发表于 2014-11-13 08:05

至少一个参数没有指定值,请求。
至少一个参数没有指定值.jpg

至少一个参数没有指定值.rar

151.15 KB, 下载次数: 2

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 15:05 , Processed in 0.565313 second(s), 15 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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