Copiar celda en un rango especifico
Tengo un formulario que selecciona una un rango de una hoja, y trae los datos para poder modificarlos, una vez modificados en el formulario, copia unas fórmulas en la hoja y dichos datos los traslada a de unas celdas a otras, el problema es que alguna instrucción está mal y no me permite copiar los datos que tengo en unos renglones de la celda a otros. La macro es la siguiente:
Option Explicit
Dim rango As Range
Private Sub CommandButton3_Click()
'Buscar
'si el combobox está vacio, te informa
If ComboBox2 = "" Then
MsgBox "selecciona algún dato para buscar", vbOKOnly + vbInformation, "AVISO"
ComboBox2.SetFocus
Exit Sub
End If
'Busca el código seleccionado en la columna A
Set rango = Range("A58:A67").Find(WHAT:=ComboBox2, _
LOOKAT:=xlWhole, LookIn:=xlValues)
'Si el dato ingresado no se encuentra en el rango, te informa
If rango Is Nothing Then
MsgBox "El dato no fue encontrado", vbOKOnly + vbInformation, "AVISO"
ComboBox2 = "": ComboBox1.SetFocus
Exit Sub
'si lo encuentra, llama los campos que se encuentran en la fila
Else
TextBox1 = Range("B" & rango.Row)
TextBox2 = Range("C" & rango.Row)
ComboBox1 = Range("D" & rango.Row)
End If
End Sub
Private Sub CommandButton4_Click()
'EDITAR
If rango Is Nothing Then
MsgBox "Aun no buscas ningun dato", vbOKOnly + vbInformation, "AVISO"
ComboBox2.SetFocus
End If
'si algún dato está en blanco, te avisa
If ComboBox2 = "" Or TextBox1 = "" Or ComboBox1 = "" Then
MsgBox "No dejes ningun campo obligatorio en blanco", vbOKOnly + vbInformation, "AVISO"
Exit Sub
End If
'aquí quiero que si el dato seleccionado en el combobox1 no comienza por los números 1110 u 1120 entonces informe y no permita continuar.
'cadena = Left(ComboBox1, 4)
' If cadena <> "1110" Or cadena <> "1120" Then
' MsgBox "Debe seleccionar una que corresponda a una entidad bancaria", vbCritical, "aviso"
' Exit Sub
' End If
'si está correcto, ingresa los datos en la fila
ActiveSheet.Unprotect "XXX"
Range("B" & rango.Row) = TextBox1
Range("C" & rango.Row) = TextBox2
Range("D" & rango.Row) = ComboBox1
'ActiveSheet.Protect "XXX"
'escribo formulas en celdas de cuentas
Sheets("CONFIGURACION").Range("M2").FormulaR1C1 = "=+CONCATENATE(R[-1]C[2],"" "",R[-1]C[5])"
Range("N2").FormulaR1C1 = "=+CONCATENATE(R[-1]C[2],"" "",R[-1]C[5])"
Range("O2").FormulaR1C1 = "=+CONCATENATE(R[-1]C[2],"" "",R[-1]C[5])"
'escribo la cuenta en la celda M1
Range("M1") = ComboBox1
'escribo las formulas de la fila 1
Range("O1").FormulaR1C1 = "=+MID(RC[-2],1,1)"
Range("P1").FormulaR1C1 = "=+MID(RC[-3],1,2)"
Range("Q1").FormulaR1C1 = "=+MID(RC[-4],1,4)"
Range("R1").FormulaR1C1 = "=+MID(RC[-5],1,6)"
Range("S1").FormulaR1C1 = "=+VLOOKUP(RC[-4],'PLAN CTAS'!R6C1:R3000C2,2,0)"
Range("T1").FormulaR1C1 = "=+VLOOKUP(RC[-4],'PLAN CTAS'!R6C1:R3000C2,2,0)"
Range("U1").FormulaR1C1 = "=+VLOOKUP(RC[-4],'PLAN CTAS'!R6C1:R3000C2,2,0)"
Range("V1").FormulaR1C1 = "=+VLOOKUP(RC[-4],'PLAN CTAS'!R6C1:R3000C2,2,0)"
'escribo formulas de la fila 2
Sheets("CONFIGURACION").Range("M2").FormulaR1C1 = "=+CONCATENATE(R[-1]C[2],"" "",R[-1]C[6])"
Range("N2").FormulaR1C1 = "=+CONCATENATE(R[-1]C[2],"" "",R[-1]C[6])"
Range("O2").FormulaR1C1 = "=+CONCATENATE(R[-1]C[2],"" "",R[-1]C[6])"
Range("P2").FormulaR1C1 = "=+CONCATENATE(R[-1]C[2],"" "",R[-1]C[6])"
'paso el dato de M2 a columna c
'aquí quiero que se pasen los datos de unas celdas a otras, pero en el mismo renglón del rango
'Sheets("CONFIGURACION").Range("I" & rango.Row) = Range("M2") 'clase
'Sheets("CONFIGURACION").Range("J" & rango.Row) = Range("N2") 'grupo
'Sheets("CONFIGURACION").Range("K" & rango.Row) = Range("O2") 'cuenta
'Sheets("CONFIGURACION").Range("L" & rango.Row) = Range("P2") 'cuenta2
'Sheets("CONFIGURACION").Range("M" & rango.Row) = Range("M1") 'subcuenta
ActiveSheet. Protect ("XXX")
Unload Me
End Sub
Si alguien me puede ayudar a corregir las instrucciones le agradezco de antemano.