Excel精英培训网

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

[已解决]listview,查询条件筛选

[复制链接]
发表于 2013-2-18 15:00 | 显示全部楼层 |阅读模式
一个查询的窗体,一个有数据的工作表。
窗体上有2个日期控件,工作表中第一列是文本的日期(年月日)。
第一个条件是筛选第一列日期在两个日期控件之间的行。

后面还有几个条件的文本框。
想要的效果是如果条件文本框空白的话,就不考虑这个筛选条件,这个文本框有数据才考虑这个筛选条件。
我直接用=,就识别空白的才筛选出来,有数据的就筛选不出来了,不懂区分。

然后就是如果最后一列有“作废”两字,本行字体颜色为红色。
listview最后加个金额合计。

做点东西好复杂。。。。。。问的有点多了,呵呵,谢谢了~
最佳答案
2013-2-18 20:18
(, 下载次数: 221)

查询.zip

23.64 KB, 下载次数: 243

发表于 2013-2-18 15:17 | 显示全部楼层
listview的也没那么难的,校长视频有一集就讲了这个。
回复

使用道具 举报

发表于 2013-2-18 15:39 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2013-2-18 17:35 | 显示全部楼层
校长的课都听过,昨天特地把59集listview控件又听了一遍,不会举一反三啊,还是做不出来
回复

使用道具 举报

发表于 2013-2-18 17:52 | 显示全部楼层
制表的坏习惯,在你的表里,都快齐了。
回复

使用道具 举报

发表于 2013-2-18 17:59 | 显示全部楼层
  1. Private Sub 查询_Click()
  2.     ListView1.ListItems.Clear
  3.     ListView1.ColumnHeaders.Clear

  4.     With Sheets("明细")
  5.         Dim i, 合计金额C, j&
  6.         Dim itm As ListItem, list
  7.         ListView1.ColumnHeaders.Add 1, "riqi", "日期", 80
  8.         ListView1.ColumnHeaders.Add 2, "bianhao", "编号", 55, lvwColumnCenter
  9.         ListView1.ColumnHeaders.Add 3, "danwei", "单位", 150, lvwColumnCenter
  10.         ListView1.ColumnHeaders.Add 4, "zhaiyao", "摘要", 100, lvwColumnCenter
  11.         ListView1.ColumnHeaders.Add 5, "shoukuanfangshi", "收款方式", 60, lvwColumnCenter
  12.         ListView1.ColumnHeaders.Add 6, "jine", "金额", 75, lvwColumnRight
  13.         ListView1.ColumnHeaders.Add 7, "beizhu", "备注", 100, lvwColumnCenter
  14.         ListView1.ColumnHeaders.Add 8, "zuofei", "作废", 40, lvwColumnCenter

  15.         ListView1.View = lvwReport
  16.         ListView1.Gridlines = True
  17.         For i = 1 To Sheets("明细").Cells(65536, 1).End(xlUp).Row
  18.             'If Sheets("明细").Cells(i, 1) >= 起始时间 And Sheets("明细").Cells(i, 1) <= 结束时间 Then
  19.             '单位C.Text = "" Then
  20.             'ElseIf Sheets("明细").Cells(i, 3) = 单位C.Text Then

  21.             Set itm = ListView1.ListItems.Add()
  22.             With itm


  23.                 .Text = Sheets("明细").Cells(i, 1)
  24.                 .SubItems(1) = Sheets("明细").Cells(i, 2)
  25.                 .SubItems(2) = Sheets("明细").Cells(i, 3)
  26.                 .SubItems(3) = Sheets("明细").Cells(i, 4)
  27.                 .SubItems(4) = Sheets("明细").Cells(i, 5)
  28.                 .SubItems(5) = Format(Sheets("明细").Cells(i, 6), "#,##0.00")
  29.                 .SubItems(6) = Sheets("明细").Cells(i, 7)
  30.                 .SubItems(7) = Sheets("明细").Cells(i, 8)
  31.                 If .SubItems(7) = "作废" Then
  32.                     .ForeColor = vbRed
  33.                     For j = 1 To .ListSubItems.Count
  34.                         .ListSubItems(j).ForeColor = vbRed
  35.                     Next
  36.                 End If
  37.                 合计金额C = 合计金额C + Val(Sheets("明细").Cells(i, 6))
  38.             End With
  39.             'End If
  40.         Next i
  41.         Set itm = ListView1.ListItems.Add()
  42.         With itm
  43.             .Text = "合计金额:"
  44.             .ForeColor = vbRed
  45.             .SubItems(2) = Format(合计金额C, "#,##0.00")
  46.             .ListSubItems(2).ForeColor = vbRed
  47.         End With
  48.     End With

  49. End Sub
复制代码
红字显示方式。
回复

使用道具 举报

 楼主| 发表于 2013-2-18 18:14 | 显示全部楼层
本帖最后由 wj983 于 2013-2-18 18:20 编辑

谢谢哥了~

不过合计金额取出来的数字不对啊

那些个查询条件咋弄呀~
回复

使用道具 举报

发表于 2013-2-18 18:37 | 显示全部楼层
      好深奥。。。。
回复

使用道具 举报

 楼主| 发表于 2013-2-18 18:44 | 显示全部楼层
是不是因为我的金额是有千分符的文本格式,所以合计出来的金额不正确了?!~
回复

使用道具 举报

发表于 2013-2-18 20:09 | 显示全部楼层
查询.rar (21.16 KB, 下载次数: 496)
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 02:29 , Processed in 0.399834 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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