ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 3977|回复: 15

求selection怎么解决这样的统计问题?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2006-2-13 17:24 | 显示全部楼层 |阅读模式
多个doc文件(doc里的表格格式是一样的,只是数据不同)分别存在不同的access表的记录里, 也就是讲一个doc文件存在一条记录里的字段field_A里, 用户在一个打开的doc文件里拖动选择需要的单元格,然后希望统计出某些记录里的doc文件里的相同区域的值 doc文件也可能不存在access里,而放在某个目录下,遍历这些doc,然后统计出用户指定的区域值? 怎么实现呀?

TA的精华主题

TA的得分主题

 楼主| 发表于 2006-2-14 11:01 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
或者有别的办法统计出若干个doc文件里的数据吗?谢谢。。。

TA的精华主题

TA的得分主题

发表于 2006-2-15 06:55 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
以下是引用[I]lxz_lz[/I]在2006-2-14 11:01:38的发言:[BR]或者有别的办法统计出若干个doc文件里的数据吗?谢谢。。。
首先,你的提问就有问题,SELECTION? 你上传一份附件,我们看一下具体问题再谈更有效一些。

TA的精华主题

TA的得分主题

 楼主| 发表于 2006-2-15 09:17 | 显示全部楼层
用户任选附件里表的某一列或者某些单元格,希望对 若干条记录里的相同字段名里的已存储的doc文件(这些doc是相同的表格,只是数据不同)对于用户刚才选择的区域里的数值 进行统计,该怎么实现呢?我现在想得到的也只是思路啊(而且还不知道是否可行),即:让用户在一个打开的doc上进行单元格选择,然后把选择的区域赋给range,然后用这个range去分别取出那些doc里的数值进行统计。 GwnL7kHe.rar (3.58 KB, 下载次数: 11)

TA的精华主题

TA的得分主题

 楼主| 发表于 2006-2-15 09:26 | 显示全部楼层

SELECTION对象怎么转到range,然后range又怎么依次去取出那些doc相对应的区域的数值?

所以标题就提到selection了,由于刚接触VBA,希望能学习VBA,然后解决些问题。。。

TA的精华主题

TA的得分主题

发表于 2006-2-15 11:57 | 显示全部楼层
以下是引用[I]lxz_lz[/I]在2006-2-15 9:26:16的发言:[BR]

SELECTION对象怎么转到range,然后range又怎么依次去取出那些doc相对应的区域的数值?

所以标题就提到selection了,由于刚接触VBA,希望能学习VBA,然后解决些问题。。。

这里没有吗? http://club.excelhome.net/dispbbs.asp?boardID=23&ID=110721&page=1

TA的精华主题

TA的得分主题

 楼主| 发表于 2006-2-15 14:55 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

嗯。。。那贴子偶有时间肯定要去好好学习滴。。。

可否帮看看4楼的思路是否可行呢?可行的话需要用什么对象的什么方法来实现呢?谢谢

TA的精华主题

TA的得分主题

发表于 2006-2-16 07:15 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
以下是引用[I]lxz_lz[/I]在2006-2-15 14:55:57的发言:[BR]

嗯。。。那贴子偶有时间肯定要去好好学习滴。。。

可否帮看看4楼的思路是否可行呢?可行的话需要用什么对象的什么方法来实现呢?谢谢

'* +++++++++++++++++++++++++++++ '* Created By I LOVE YOU WORD!@ExcelHome 2006-2-16 7:16:22 '仅测试于System: Windows NT Word: 11.0 Language: 2052 '№ 0010^The Code CopyIn [ThisDocument-ThisDocument]^' '* ----------------------------- Option Explicit Sub GetSelectionCells() '程序处理思路,把当前活动文档中用户选择的单元格行标列号分别赋 '予两个数组,然后针对各个文档,按数组中的行标列号取得相应单元格的数据 '如果需要累加,则进行累加,此处略,注意,如果累加,你的数据有问题,如保密性 Dim oCell As Cell, ColArray() As Byte, RowArray() As Integer Dim CellsCount As Integer, N As Integer, myTable As Table Dim myCell As Cell With Selection If .Information(wdWithInTable) Then If .Type <> wdSelectionIP Then CellsCount = .Cells.Count ReDim ColArray(CellsCount - 1) ReDim RowArray(CellsCount - 1) For Each oCell In Selection.Cells ColArray(N) = oCell.ColumnIndex RowArray(N) = oCell.RowIndex N = N + 1 Next '此处可以添加遍历文档代码 With ActiveDocument Set myTable = .Tables(1) For N = 0 To CellsCount - 1 Set myCell = myTable.Cell(RowArray(N), ColArray(N)) Debug.Print .Range(myCell.Range.Start, myCell.Range.End - 1) Next End With End If End If End With End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2006-2-16 10:57 | 显示全部楼层

以上过程 If .Information(wdWithInTable) Then 运行到这句时报错说对象变量未设置。


我看了 微软 word 参考里的许多关于selection地方的示例。。。都是直接就拿selection来用了,

我都不知道selection对象怎么得来的,资料上也讲了,selection属性返回selection对象,

那么,我想问selection属性又是什么对象的属性啊?晕。。。

TA的精华主题

TA的得分主题

发表于 2006-2-16 17:37 | 显示全部楼层

论坛的网页在粘贴过程中出错,应该是

If .Type <> wdSelectionIP Then

关于SELECTION对象,属性问题,可以这样理解:

SELECTION对象由于用户的SELECT方法所产生的,SELECTION属性代表了所选内容的起点到所选内容的终点这段落范围(RANGE),当起点和终点一致时就是插入点了(光标了),需要应用或者返回这个范围内具体内容或者产生动作的,就是SELECTION对象,只有对象才能有属性、方法。

理论上的SELECTION属性在编程中几乎不存在,至少我是这么认为的。

比如,帮助中的SELECTION属性,是WINDOW、PANE、APPLICATION和GLOBAL对象的,但我们在返回或者设置过程中,已经由SELCTION属性转化为了SELECTION对象,即SELECTION总属性是返回一个SELECTION对象。

MsgBox Documents(2).ActiveWindow.Selection.Text

这段代码中,Selection指向的是文档2的活动窗口中的所选内容,这是SELECTION属性,但它指向的结果是这个SELECTION对象,通过对象,我们返回所选内容的文本。它们两者不是孤立的。

不知能否有所理解体会?

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

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-16 07:36 , Processed in 0.047174 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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