现有窗体上多个文本框 在文本框内写入数据可以实现数据在excel中的保存 也就是用xlsheet.cells(x,x).value = Text1.text这样写入的 我可以实现一次把所有文本框都输入后保存数据 但是在输入一部分文本框之后保存 再次写入剩余文本框数据时 以前的数据就会丢失 因为每次都是读取文本框中的值 第二次输入时 第一次的肯定没有了 excel就把空读取写回到电子表格中了 现在如何防止这种情况那?  能否在第二次打开的时候 将第一次的数值再返回到程序的文本框中 和第二次的数据一起再写回到excel中? 还是要使用数组来保存文本框输入进的数据? 但是用数组保存 如何保证第一次的数据不会被第二次的空数据覆盖?

解决方案 »

  1.   

    在文本框得到输入焦点时,执行一段代码,将上次输入到Excel的的数据读回显示在文本框中不就行了么?
    你是这个意思么?
      

  2.   

    窗体初始化时,你先把EXCEL的值读到TEXT中。
      

  3.   

    楼主想不想把excel历史数据显示到文本框里,如需要则初始化时读取excel并显示,二次保存时直接保存到相应Excel表格即可[xlsheet.cells(x,x).value = Text1.text];
    否则初始化时文本框都置空,保存时Excel表格历史数据+新数据[xlsheet.cells(x,x).value = xlsheet.cells(x,x).value + Text1.text]。
      

  4.   

    worksheet对象使用open(文件名)方式,不要使用Add方式    Dim App As Excel.Application
        Dim WB As Excel.Workbook
        Dim WS As Excel.Worksheet
        
        Set App = CreateObject("Excel.Application")
        Set WB = App.Workbooks.Open("FileName")
        Set WS = WB.Worksheets.Add  '这是一种方式,将新的内容保存到不同的工作表中
        
        ws.Cells(i,j)=.........
        ...............