(Visual Basic和Excel)如果单元格A1中包含某些内容,如何将特定值放入单元格A2中

我正在编写一个代码,以从简单的3文本框forms获取信息并将其保存到Excel工作表中。 我目前的代码如下:

Private Sub Button1_MouseClick(sender As Object, e As MouseEventArgs) Handles Button1.MouseClick Dim oExcel As Object Dim oBook As Object Dim oSheet As Object oExcel = CreateObject("Excel.Application") oBook = oExcel.Workbooks.Add oSheet = oBook.Worksheets(1) oSheet.Range("A1") = TextBox1.Text oSheet.Range("B1").Value = TextBox2.Text oSheet.Range("C1").Value = TextBox3.Text oBook.SaveAs("Book1.xlsx") oExcel.Quit TextBox1.Text = "" TextBox2.Text = "" TextBox3.Text = "" End Sub 

所以当我的button被点击时,3个盒子中的信息应该被放入每一行中的下一个可用单元格中。

我想要列1有名称,所以当单元格A1等于从过去input的东西input从然后把TextBox1.text的值到下一个单元格下,如果它填充然后移动到A3等等。 什么命令来检查第一个单元格是否填充,然后移动到第二个?

另外,如何获取它,以便我不必将SaveAs Excel电子表格作为新电子表格添加到当前电子表格中。

谢谢,如果你能理解我在说什么,并会帮助我! 我是编程新手,所以这是我最好的解释是怎么回事:P。

要打开现有工作簿,请使用Workbooks.Open(filename)

要find列A中最后一次使用的行,请使用像Cells(Rows.Count,"A").End(-4162).Row 。 (-4162是Excel中xlUp常量的值。)

要保存工作簿,而不是执行SaveAs ,请使用Save

把它放在一起:

 Private Sub Button1_MouseClick(sender As Object, e As MouseEventArgs) Handles Button1.MouseClick Dim oExcel As Object Dim oBook As Object Dim oSheet As Object Dim lastRow As Long oExcel = CreateObject("Excel.Application") oBook = oExcel.Workbooks.Open("C:\Temp\myBook.xlsx") oSheet = oBook.Worksheets(1) lastRow = oSheet.Cells(oSheet.Rows.Count, "A").End(-4162).Row` oSheet.Cells(lastRow + 1, "A").Value = TextBox1.Text oSheet.Cells(lastRow + 1, "B").Value = TextBox2.Text oSheet.Cells(lastRow + 1, "C").Value = TextBox3.Text oBook.Save oBook.Close oExcel.Quit TextBox1.Text = "" TextBox2.Text = "" TextBox3.Text = "" End Sub