vb如何把文本框中的数据保存到excel,不能覆盖,而是能保存到下一行,不影响前几行保存的数据

这是小弟的代码PrivateSubCommand3_Click()'保存(不合格)DimExAsObjectDimExBookAsObjectDimExSheetAsOb... 这是小弟的代码
Private Sub Command3_Click() '保存(不合格)
Dim Ex As Object
Dim ExBook As Object
Dim ExSheet As Object

Set Ex = CreateObject("Excel.Application")
Set ExBook = Ex.Workbooks.Add
Set ExSheet = ExBook.Worksheets("Sheet1") '打开
ExSheet.Activate '激活工作表
Ex.Visible = True

ExSheet.Range("A1:U1").Value = Array("产品型号", "测试日期", "测试时间", "峰峰值", "均方根值", "频率", "周期", "上升时间", "下降时间", "正脉宽", "负脉宽", "正占空比", "负占空比", "最大值", "最小值", "平均值", "幅度", "顶端值", "底端值", "过冲", "预冲")

Static count As Integer
Dim j As Integer
count = count + 1
For j = 1 To 21
ExSheet.Cells(count + 1, j) = Text1(j - 1).Text
Next j

On Error Resume Next
ActiveWorkbook.SaveAs ("Z:\工作区\测试\测试数据保存(不合格).xls")

Set ExSheet = Nothing
Set ExBook = Nothing
Ex.Quit
Set Ex = Nothing

End Sub
这段代码只是能自动换行,但怎么才能把每次文本框中得到的新数据添加到excel的下一行,而不影响前几行保存的数据。求高手帮忙,小弟感激不尽。
展开
 我来答
刀成朝1
2011-06-01 · TA获得超过1334个赞
知道大有可为答主
回答量:763
采纳率:0%
帮助的人:700万
展开全部
因为每执行一次该程序,会新建一个Z:\工作区\测试\测试数据保存(不合格).xls,覆盖掉原文件。
1、建议在form_load事件中在新建或打开“Z:\工作区\测试\测试数据保存(不合格).xls”,在unload事件中关闭它。在command1中仅保存(save)。这里要求Dim Ex As Object
Dim ExBook As Object
Dim ExSheet As Object
在代码最前面定义。
2、或者在新建Set ExBook = Ex.Workbooks.Add时,先判断是否存在“Z:\工作区\测试\测试数据保存(不合格).xls”,存在就用Set ExBook = Ex.Workbooks.open(Z:\工作区\测试\测试数据保存(不合格).xls)打开,同时做一个记号,在后面区别对待saveas或save。
百度网友a556ee52d
2011-06-01 · TA获得超过1147个赞
知道小有建树答主
回答量:216
采纳率:100%
帮助的人:339万
展开全部
要修改几个地方:
1.Set ExBook = Ex.Workbooks.Add
改成:
Set ExBook = Ex.Workbooks.Open(App.Path & "\测试数据保存(不合格).xls", , False)
2.ActiveWorkbook.SaveAs ("Z:\工作区\测试\测试数据保存(不合格).xls")
改成:
ActiveWorkbook.Save (App.Path & "\测试数据保存(不合格).xls")

然后每次点击,
EXCEL中就相应增加一行。
希望对你有帮助。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式