| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 920 人关注过本帖
标题:vb操作excel问题
只看楼主 加入收藏
btbcbbc
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2015-4-29
结帖率:0
收藏
已结贴  问题点数:20 回复次数:9 
vb操作excel问题
用vb打开一个excel表格,逐次判断其中的sheet中第一个单元格是否为空,若为空则保存后退出,代码怎么写呢?求大神赐教!
搜索更多相关主题的帖子: excel表格 
2015-04-29 10:19
lianyicq
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:26
帖 子:737
专家分:3488
注 册:2013-1-26
收藏
得分:20 
打开了,没执行写操作.还需要保存?
遍历excel文件sheet表参见https://bbs.bccn.net/viewthread.php?tid=443738&page=1#pid2480216
读写单元格参见https://bbs.bccn.net/viewthread.php?tid=441270&extra=&page=1

大开眼界
2015-04-29 10:30
btbcbbc
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2015-4-29
收藏
得分:0 
回复 2楼 lianyicq
学习了,还想请问一下依次打开sheet并操作,如何对每个sheet都保存,最后到空sheet则退出
2015-04-29 10:48
lianyicq
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:26
帖 子:737
专家分:3488
注 册:2013-1-26
收藏
得分:0 
对工作簿使用Save方法,进行保存。如
Dim WB As Excel.Workbook  'WB是工作簿,也就是excel文件
Dim sht As Excel.Worksheet'sht是工作表,一个工作簿下可以有多个工作表
...
WB.Save'保存编辑后的文件

想把excel文件中的每个sheet都单独保存为一个独立excel文件?可以用SaveAs方法,参见https://msdn.(v=office.15).aspx
如果由指定单元格内容来判断空表比较容易,直接读该单元格值来判断.
如果没有指定单元格,试试用worksheet.usedrang.address是否等于"$A$1"作为条件之一
If sht.UsedRange.Address = "$A$1" And sht.Range("A1") = "" Then
  Text1.Text = sht.Name & "为空表"
End If



[ 本帖最后由 lianyicq 于 2015-4-29 11:43 编辑 ]

大开眼界
2015-04-29 11:07
btbcbbc
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2015-4-29
收藏
得分:0 
回复 4楼 lianyicq
你好,请问一下vb中判断excel中单元格内容是否为“A 105”,若不是则设此单元格为红色,执行后发现excel中有的单元格内容是“A 105”也被设置成了红色,是因为输入法不同导致空格长度不同还是什么原因?
2015-04-29 14:50
lianyicq
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:26
帖 子:737
专家分:3488
注 册:2013-1-26
收藏
得分:0 
回复 5楼 btbcbbc
代码段上来看看

大开眼界
2015-04-29 14:57
btbcbbc
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2015-4-29
收藏
得分:0 
回复 6楼 lianyicq
Dim CZ As String
Dim i As Integer
i = 2
Do While (xlSheet.Cells(i, 2).Value <> "")
CZ = "A 105"
If xlSheet.Cells(i, 3).Value <> CZ Then
xlSheet.Cells(i, 3).Interior.Color = 255
Else
End If
i = i + 1
Loop
2015-04-29 15:00
lianyicq
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:26
帖 子:737
专家分:3488
注 册:2013-1-26
收藏
得分:0 
回复 7楼 btbcbbc
代码没发现问题。[attach]80032[/attach]
再检查其它内容
图片附件: 游客没有浏览图片的权限,请 登录注册

如果担心是空格影响。用replace()

[ 本帖最后由 lianyicq 于 2015-4-29 15:22 编辑 ]

大开眼界
2015-04-29 15:19
btbcbbc
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2015-4-29
收藏
得分:0 
回复 8楼 lianyicq
是的,我检查的内容中不含空格的话,都没有问题,含有空格的时候,有的单元格就会出现问题,可能是excel中输入法不同输入空格后造成字符串长度不同吧
2015-04-29 15:22
btbcbbc
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2015-4-29
收藏
得分:0 
回复 8楼 lianyicq
用replace解决了,谢谢!
2015-04-29 15:31
快速回复:vb操作excel问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029859 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved