如何从vba表单中保存相同Excel工作表上的数据?

时间:2017-08-25 10:52:29

标签: excel-vba vba excel

我的表单中包含各种详细信息,例如"用户的电子邮件" ,"电话号码"我希望每当我点击提交时,这些来自数据的字段应该保存在同一个Excel表格中,当我下次进行任何输入并保存时,它应该附加前面的两个行间隙的数据。

我现在有这个,这工作正常,但我想每当我创建一个新条目时它应该附加以前的数据。

Private Sub CommandButton6_Click()

Dim ws As Worksheet

Set ws = Worksheets("Sheet1")

ws.Range("A1") = " Troubleshooting Steps : " + Check1.Caption + vbCrLf + 
Check2.Caption + vbCrLf + Check3.Caption + vbCrLf + Check4.Caption + vbCrLf + Check5.Caption + vbCrLf + Check6.Caption

ws.Range("A3") = "Summary : " + txtNotes.Text

txtNotes.Text = ""

End Sub

2 个答案:

答案 0 :(得分:0)

您可以使用以下方法在数据库中插入新数据:

Private Sub CommandButton_Click()

    Dim ws As Worksheet
    Dim LastRow As Long
    Dim LastRange As Range

    Set ws = ThisWorkbook.Sheets("Sheet1")
    LastRow = ws.Range("A" & Rows.Count).End(xlUp).Row

    Set LastRange = ws.Range("A" & LastRow + 2)

    'Conidering the Users email in column A, users phone in column B and users name in column C
    LastRange = UsersEmailTextBox.Text
    LastRange.Offset(0, 1) = UsersPhoneTextBox.Text
    LastRange.Offset(0, 2) = UsersNameTextBox.Text
    '...


End Sub

答案 1 :(得分:0)

我希望每个文本都以我能够做的某种格式显示,但我现在面临的问题是显示文件中已选中的复选框。 我稍微修改了你的代码,以垂直方式将它们放在一个单元格中

LastRange.Offset(1,0)=“LAN ID:”+ TextBox5.Text + vbCrLf +“Email:”+ TextBox6.Text + vbCrLf +“Extension:”+ TextBox7.Text + vbCrLf +“Alternate:” + TextBox8.Text + vbCrLf

enter image description here