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的下一行,而不影响前几行保存的数据。求高手帮忙,小弟感激不尽。 展开
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的下一行,而不影响前几行保存的数据。求高手帮忙,小弟感激不尽。 展开
2个回答
展开全部
因为每执行一次该程序,会新建一个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。
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。
展开全部
要修改几个地方:
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中就相应增加一行。
希望对你有帮助。
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中就相应增加一行。
希望对你有帮助。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询