【问题标题】:(Visual Basics and Excel) How to put a certain value into cell A2 if cell A1 has something in it(Visual Basics 和 Excel)如果单元格 A1 中有内容,如何将某个值放入单元格 A2
【发布时间】:2017-10-15 12:32:36
【问题描述】:

我正在编写代码以从一个简单的 3 文本框表单中获取信息并将其保存到 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

因此,当单击我的按钮时,应该将 3 个框中的信息放入每一行的下一个可用单元格中。

我希望第 1 列有名称,因此当单元格 A1 等于从过去填写的内容中输入的内容时,然后将 TextBox1.text 的值放入下一个单元格中,如果它填充到则移动到 A3 等等上。检查第一个单元格是否已填充然后移动到第二个单元格的命令是什么?

另外,我如何获得它,这样我就不必将 Excel 电子表格另存为新电子表格,而只需添加到当前电子表格。

如果你能理解我在说什么,并会帮助我,谢谢!我是编码新手,所以这是我解释发生了什么的最佳机会:P。

【问题讨论】:

    标签: vb.net excel vba


    【解决方案1】:

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

    要查找 A 列中最后使用的行,请使用 Cells(Rows.Count,"A").End(-4162).Row 之类的内容。 (-4162 是 Excel 中 xlUp 常量的值。)

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

    把它们放在一起:

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-07
      • 1970-01-01
      • 2016-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-24
      • 1970-01-01
      相关资源
      最近更新 更多