Problemas con el MSComCtl2.DTPicker. 2 en excel
Estoy diseñando una hoja de excel para que realice un requerimiento y necesito que en una celda una vez que se escriba una fecha valida en la misma celda se inserte un objeto DTPicker, ya esa parte la he podido completar pero a pesar de que el objeto DTPicker se inserta correctamente permanece "inactivo" solo si salvo la hoja y cierro excel, al volver a abrirla es posible usar el DTPicker; este es el código que incluí en el evento Worksheet_Change de la hoja:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("G2:G65536")) Is Nothing Then
If ActiveWorkbook.ActiveSheet.Name = "Hoja1" Then
Dim dtp As OLEObject
Dim nombre As String
nombre = "dtp" & CStr(Target.Row)
If IsDate(Target.Value) Then
Set dtp = ActiveSheet.OLEObjects.Add("MSComCtl2.DTPicker.2")
With dtp
.Name = nombre
.Top = Target.Top
.Left = Target.Left
.Width = Target.Width
.Height = Target.Height
.LinkedCell = Target.Address
.Object.CheckBox = True
End With
Else
On Error Resume Next
ActiveSheet.OLEObjects(nombre).Delete
End If
End If
End If
End Sub
Adicionalmente "sin haber salvado la hoja"; si después de insertar los DTPicker en la hoja especifica selecciono otra hoja y regresar a hoja donde inserte los DTPicker estos se deforman, estoy trabajando con EXCEL 2003
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("G2:G65536")) Is Nothing Then
If ActiveWorkbook.ActiveSheet.Name = "Hoja1" Then
Dim dtp As OLEObject
Dim nombre As String
nombre = "dtp" & CStr(Target.Row)
If IsDate(Target.Value) Then
Set dtp = ActiveSheet.OLEObjects.Add("MSComCtl2.DTPicker.2")
With dtp
.Name = nombre
.Top = Target.Top
.Left = Target.Left
.Width = Target.Width
.Height = Target.Height
.LinkedCell = Target.Address
.Object.CheckBox = True
End With
Else
On Error Resume Next
ActiveSheet.OLEObjects(nombre).Delete
End If
End If
End If
End Sub
Adicionalmente "sin haber salvado la hoja"; si después de insertar los DTPicker en la hoja especifica selecciono otra hoja y regresar a hoja donde inserte los DTPicker estos se deforman, estoy trabajando con EXCEL 2003
1 respuesta
Respuesta de Juan Carlos González Chavarría
1