ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

表格数据处理的问题

[复制链接]

TA的精华主题

TA的得分主题

发表于 2005-6-2 19:29 | 显示全部楼层 |阅读模式

我有一个文本文档,里面有12个数:1 2 3 4 5 6 7 8 9 10 11 12

现在我用word中编辑的宏命令打开这个文本文档,将这12个数自动填到以下的表格中去:

得到以下结果:

要得到这个结果,不知道斑竹以及其他各位高手们有什么好的办法,在下在此谢过了

[此贴子已经被作者于2005-6-4 19:10:02编辑过]

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-6-2 19:46 | 显示全部楼层

另外,如何能够办到让表格中有数据的单元格不能进行修改,兄弟一直找不到处理的方法,还忘各位高手们不吝赐教,谢谢

[此贴子已经被作者于2005-6-4 19:07:32编辑过]

TA的精华主题

TA的得分主题

发表于 2005-6-4 05:37 | 显示全部楼层

请楼主参阅一下这个链接,并上传你的附件和写清你的要求、目的。

这个事情,应该不难做到。

http://club.excelhome.net/viewthread.php?tid=45649

TA的精华主题

TA的得分主题

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

好的,我改改

TA的精华主题

TA的得分主题

发表于 2005-6-5 08:17 | 显示全部楼层

如果仅仅是这样的话,你何不选中你需要填入数据的单元格,点击格式工具栏中的"自动编号命令",它将会自动给你的单元格进行如你所附图要求的结果进行编号啊.

你该不会就是要求这样吧?1~12是连续的?不变的?

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-6-5 08:45 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-6-5 08:57 | 显示全部楼层
好像还不行,我是要把文本文档中的那12个数字自动输入到表格中,而不是对表格进行编号,数字是可以变的,也可以是其他的12个数字,如:2.78 11 56.97 15 69 33.39 1 25 69 10 79 69

TA的精华主题

TA的得分主题

发表于 2005-6-5 20:11 | 显示全部楼层

简单的事情,本来让你上传附件(两个,一个是文本文件,一个是WORD文档),上传后,我看一下,简单地编个小程序,非常方便的。

怎么不明白呢?

[em06]

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-6-5 23:02 | 显示全部楼层

好的

文本文档:

[此贴子已经被作者于2005-6-5 23:19:58编辑过]

TA的精华主题

TA的得分主题

发表于 2005-6-6 04:57 | 显示全部楼层

请按以下代码头的提示,将以下代码复制后粘贴于你的活动文档(带表格数据统计的目标文档的THISDOCUMENT代码窗口中,ALT+F11,进入VBE)

'* +++++++++++++++++++++++++++++ '* Created By I Love You_Word!@ExcelHome 2005-6-6 4:55:30 '仅测试于System: Windows NT Word: 10.0 Language: 2052 '^The Code CopyIn [ThisDocument-ThisDocument]^' '* -----------------------------

Option Explicit Sub ReadTxtWriteInWord() '这是一个读写指定的文本文件中的数据写到WORD中的小程序 Dim MyTextPath As String, aTable As Table, aArray As Variant Dim RowId As Integer, ColId As Byte, RowCount As Integer Dim TextLine As String, MyText As String, ArrayText() As String On Error Resume Next '忽略错误 Application.ScreenUpdating = False '关闭屏幕更新 With ThisDocument '本文档 MyTextPath = .Path '本文档的路径(请先保存该文档), '此处亦可直接修改你的记事本文件的路径,如"C:\TEST\MyTxt.Txt" Set aTable = .Tables(1) '定义一个表格对象(如果有多表,则遍历表格) RowCount = aTable.Rows.Count '取得指定表格的行数 RowId = 3 '初始化变量,根据附件为从第三行开始写数据 ColId = 1 '初始化变量,根据附件为从第一列开始,结束于第七列 '打开指定路径下的TXT文件 Open MyTextPath & "\MyText.TXT" For Input As #1 Do While Not EOF(1) '如果不是到了文件结束 Line Input #1, TextLine '从已打开的顺序文件中读出一行并将它分配给TextLine变量 MyText = MyText & TextLine & " " 'MyText累加文本行,并在行末加以空格,为数组分隔作准备 Loop Close #1 '关闭文件 ' Debug.Print MyText '定义一个STRING型一维数组,以空格键作为取得的MyText变量的数组分隔符 ArrayText = VBA.Split(MyText, " ") '在数组中循环 For Each aArray In ArrayText '如果aArray为非空(在文本文件中,有多个空格存在,其中一些空格,也成为数组中的一个数据) If aArray <> "" Then '将该有效数据写到指定的表格的单元格中 aTable.Cell(RowId, ColId).Range = aArray ColId = ColId + 1 '每写一个数据,列号+1 '如果ColId>7则换行,并初始化变量为1,即转移到下一行的第一列 If ColId > 7 Then ColId = 1: RowId = RowId + 1 '如果RowId大于总行数,则退出程序 If RowId > RowCount Then Exit Sub End If Next End With '恢复屏幕更新 Application.ScreenUpdating = True End Sub '----------------------

[此贴子已经被作者于2005-6-6 4:57:14编辑过]
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-15 02:11 , Processed in 0.047152 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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