У меня есть следующий код, где BasedeDatos - это новый лист в новом Excel (где будут отображаться мои данные). Я хочу перенести данные, которые есть в каждом «TextBox», а именно: ID, Фамилия, Имя и т. Д., На новый лист Excel. Это работает сейчас !, но я не хочу, чтобы лист открывался каждый раз, когда я нажимал на кнопку и переносил данные на другой лист. Как я могу это исправить?
Private Sub cmdAdd2_Click()
'dimention the variable
Dim Datos As Worksheet
Dim Addme As Range
'set the variable
Set Datos = Workbooks.Open("C:\Users\rescariz\Desktop\Plataforma\Datos.xlsx").Worksheets("Datos")
'error handler
On Error GoTo errHandler:
'set variable for the destination
Set Addme = Datos.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
'hold in memory and stop screen flicker
Application.ScreenUpdating = False
If Me.TextBox7 = "" Or Me.TextBox8 = "" Or Me.TextBox9 = "" Or Me.ComboBox3 = "" Or Me.TextBox20 = "" Or Me.TextBox21 = "" _
Or Me.TextBox22 = "" Or Me.TextBox23 = "" Then
MsgBox "Hay celdas sin completar, por favor, llenar todos los datos"
Exit Sub
End If
'send the values to the base
With Datos
'add the unique reference ID then all other values
Addme.Value = Me.TextBox7
Addme.Offset(0, 1).Value = Me.TextBox8
Addme.Offset(0, 2).Value = Me.TextBox9
Addme.Offset(0, 3).Value = Me.TextBox10
Addme.Offset(0, 4).Value = Me.TextBox11
Addme.Offset(0, 5).Value = Me.ComboBox3
Addme.Offset(0, 6).Value = Me.TextBox20
Addme.Offset(0, 7).Value = Me.TextBox21
Addme.Offset(0, 8).Value = Me.TextBox22
Addme.Offset(0, 9).Value = Me.TextBox23
End With
'sort the Registros by "Legajo"
Datos.Select
With Datos
.Range("A2:I1000").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess
End With
'communicate with the user
MsgBox "Se le han agregado los datos correctamente!"
'reset the form
On Error GoTo 0
Exit Sub
errHandler:
'if error occurs then show me exactly where the error occurs
MsgBox "Error " & Err.Number & _
" (" & Err.Description & ")en el procedimiento cmdAdd2_Click de la UserForm1"
End Sub