2017-08-25 18 views
-1

我有一个表格,其中有“用户的电子邮件”,“电话号码”等各种细节。我希望每当我点击提交,这些领域的数据应该得到保存在同一张Excel表格,当我下次进行任何输入和保存它,它应该将以前的数据添加两行间隔。如何将数据保存在vba表单的同一张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 
+0

可以验证在片材使用与本的最后一行:'LASTROW =工作表( “Sheet1”)。Range(“A”&Rows.Count).End(xlUp).Row'然后,新范围将为:'Worksheets(“Sheet1”)。Range(“A”&LastRow + 2) '。 –

+0

我对此很陌生,所以我假设要添加 LastRow =工作表(“Sheet1”)。范围(“A”和行数。)(Enl).Row 工作表(“Sheet1”)。范围( “A”&LastRow + 2) 在我的代码这样结束时,我是对不对? –

回答

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 
+0

非常感谢,它帮助了 –

+0

@KarandeepSingh只需将此答案作为正确的答案。别客气。 –

+0

我希望每个文本都能以某种格式显示,但我现在面临的问题是显示文件中已选中的复选框。 我修改了一下代码,让它们只在一个单元格中垂直方向 LastRange.Offset(1,0)=“LAN ID:”+ TextBox5.Text + vbCrLf +“Email:”+ TextBox6.Text + vbCrLf +“Extension:”+ TextBox7.Text + vbCrLf +“Alternate:”+ TextBox8.Text + vbCrLf –

0

我要显示在我能够做一些格式每个文本延伸,但这个问题我现在面临现在显示文件中的复选框。 我修改了一下你的代码,让它们在垂直方向上只有一个单元格

LastRange.Offset(1,0)=“LAN ID:”+ TextBox5.Text + vbCrLf +“Email:”+ TextBox6.Text + vbCrLf + “扩展名:” + TextBox7.Text + vbCrLf + “替代:” + TextBox8.Text + vbCrLf

enter image description here

相关问题