Hola, respecto a lo que publiqué en ese foro que comentas decir que con 12000 celdas es para que se entienda, que no tengo 3 o 4 cables como para estar copiando y pegando formulas ya que como se puede entender da lugar a colarte y pegar una en la celda que no es sobre todo cuando llevas ya un buen rato con ello. Respecto a utilizar una hoja auxiliar es tal y como lo planteé. De hecho el código de Leopoldo Blancas me funcionó perfecto, quedando ese desafío resuelto. Donde estaba el problema?Que cuando ejecutaba la macro me pegaba en las celdas en blanco la fórmula en inglés, que es como tengo el excel en un ordenador de trabajo, y no reconoce las funciones en este otro ordenador también de trabajo y que está en español (que por politicas de empresa no tengo permitido cambiar, capado) Por tanto aunque el código estaba genial no puedo utilizar la hoja excel en el ordenador de teletrabajo. Es por eso por lo que en este foro he planteado el problema desde otro punto de vista, quitando las fórmulas de la hoja auxiliar, ya que por eso método no me valió. Dejo captura de lo que me pasaba (que no es el caso en este tema), aunque pusiera ESFORMULA como comentas no me iba a valer, porque las funciones que contienen están en ingles,, Puedo buscar la traducción?Si, pero me va a dejar de valer para uno de los ordenadores igual. Es por eso que no conviene mezclar lo de un foro con este porque lo he planteado de otra forma aquí. Un saludo!
Por
MANTONIOPM , · publicado el miércoles a las 21:43 5 días
Estimados, muchas gracias por su ayuda, estoy realizando una planilla para ingresar clientes y llenar una base de datos, pero quiero saber como poder hacer para que si el cliente ya existe me muestre sus datos y si los modifico se modifiquen en la base de datos, pero si no está, que me permita llenar su información.
Hasta ahora solo he hecho:
Sub Registro()
'
Dim strTitulo As String
Dim Continuar As String
Dim TransRowRng As Range
Dim NewRow As Integer
Dim Limpiar As String
'
strTitulo = "Registrar Datos"
'
Continuar = MsgBox("Grabar datos?", vbYesNo + vbExclamation, strTitulo)
If Continuar = vbNo Then Exit Sub
'
Set TransRowRng = ThisWorkbook.Worksheets("Datos").Cells(1, 1).CurrentRegion
NewRow = TransRowRng.Rows.Count + 1
With ThisWorkbook.Worksheets("Datos")
.Cells(NewRow, 1).Value = ThisWorkbook.Sheets(1).Range("B3")
.Cells(NewRow, 2).Value = ThisWorkbook.Sheets(1).Range("C3")
.Cells(NewRow, 3).Value = ThisWorkbook.Sheets(1).Range("D3")
End With
'
Limpiar = MsgBox("Deseas limpiar los campos de la captura?", vbYesNo, strTitulo)
If Limpiar = vbYes Then
With ActiveWorkbook.Sheets(1)
.Range("B3").ClearContents
.Range("C3").ClearContents
.Range("D3").ClearContents
End With
Else
End If
'
End Sub
De antemano muchas gracias por su ayuda