Como copiar y pegar fórmula código vba-excel
Tengo el siguiente código vba, (publicado aquí)
Option Explicit
Sub Captura_Datos()
'Declaración de variables
'
Dim strTitulo As String
Dim Continuar As String
Dim TransRowRng As Range
Dim NewRow As Integer
Dim Limpiar As String
'
strTitulo = "Atención Telefónica"
'
Continuar = MsgBox("Dar de alta los 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 = Date
.Cells(NewRow, 2).Value = Format(Date, "dd")
.Cells(NewRow, 3).Value = Format(Date, "mm")
.Cells(NewRow, 4).Value = Format(Date, "yy")
. Cells(NewRow, 5).Value = ThisWorkbook. Sheets(1). Range("C6")
. Cells(NewRow, 6).Value = ThisWorkbook. Sheets(1). Range("C9")
. Cells(NewRow, 7).Value = ThisWorkbook. Sheets(1). Range("C12")
. Cells(NewRow, 8).Value = ThisWorkbook. Sheets(1). Range("C15")
. Cells(NewRow, 9).Value = ThisWorkbook. Sheets(1). Range("F9")
. Cells(NewRow, 10).Value = ThisWorkbook. Sheets(1). Range("F12")
. Cells(NewRow, 11).Value = ThisWorkbook. Sheets(1). Range("F15")
.Cells(NewRow, 12).Formula = Worksheets("Hoja1").Range("c2")
End With
'
MsgBox "Alta exitosa.", vbInformation, strTitulo
Limpiar = MsgBox("Deseas limpiar los campos de la captura?", vbYesNo, strTitulo)
If Limpiar = vbYes Then
With ActiveWorkbook.Sheets(1)
. Range("C6"). ClearContents
. Range("C9"). ClearContents
. Range("C12"). ClearContents
. Range("C15"). ClearContents
. Range("F9"). ClearContents
. Range("F12"). ClearContents
'ClearContents no funciona en celda combinada...
.Range("F15").Value = ""
End With
Else
End If
'
End SubEn esta parte del código quiero que me copie y pegue la formula de la celda C2 de la hoja1
.Cells(NewRow, 12).Formula = Worksheets("Hoja1").Range("c2")
He probado de muchas formas, pero no he sido capaz de conseguir el resultado.
1 respuesta
Respuesta de Dante Amor
1