Afectación de fechas en Macros

Estimado Experto, hace poco la experta Elsamatilde me auxilio completando parte de un pequeño código que he escrito en excel que me sirve para convertir el texto en las celdas seleccionadas a mayúsculas con la condicional de que si en la celda se encuentra con una fórmula la ignore a modo de que no acabe convirtiendo el resultado en texto a continuación te pongo el código
Sub Mayusculas()
For Each Cell in Selection
If Left (Cell.Formula,1) <> "=" Then
Cell.Value = UCase (Cell.Value)
End If
Next
Selection.Font.Size = 10
Selection.Font.Name = "Tahoma"
End Sub
En la practica este pequeño código ya representa para mi una gran ayuda ahorrándome teclear mucha información o no usando la parafernalea requerida para convertir el texto en mayúsculas utilizando la función Mayusc... Pero siendo este mi primer Macros no todo podía ser perfecto, ¿me he encontrado con la curiosidad que si entre las celdas seleccionadas me encuentro con una fecha por ejemplo 01/02/2007 al ejecutar el Macros la fecha sufre una modificación quedando 02/01/2007, como puedo lograr que al igual que con la fórmula en el que caso de fechas la información tampoco sufra cambios?
Aprovechando la molestia, en el código que yo escribí encontré que puedo hacer referencia a la celda activa por medio de "Cell" y la experta Elsamatilde "CD", ¿existe alguna diferencia en esto? Por otra parte cuando escribo Cell. Fórmula, ¿qué estoy indicando? Por que en la ayuda de VBA no encuentro la deficinion de Cell y CD y menos como estos están ligado a Fórmula.
Le agradezco mucho!

1 respuesta

Respuesta
1
Para poder dar formato de fecha se pueden utilizar varias formas:
Activecell.Value = Format(TextBox1.Text, "dd/mm/aaaa")
Otra
ActiveCell.Value = CDate(TextBox1)
Lo de Cell y CD pueden ser variables que ella ha utilizado en su momento para abreviar la escritura de código, por ejemplo:
Dim CD as Range
Dim Cell As Range
[email protected]
Hola nuevamente, muchas gracias por su pronta respuesta, le agradezco mucho, solo que no deseo indicar un nuevo formato de fecha al rango que se evalúa, más bien lo que deseo es que lo ignore si lo que se encuentra contenido es una fecha tal como sucede en el caso de la fórmula, ¿cómo podría agregar esa condicional a la rutina que ya tengo escrita?
Gracias!
No sé como tienes tu código, aquí te dejo un ejemplo para que lo adaptes:
If IsDate(ActiveCell.Value) Then
MsgBox "Esta celda tiene una fecha."
Else
MsgBox "No contiene ninguna fecha la celda actual."
End If
El código lo puse desde la pregunta inicial, el problema que tengo es que cuando el macros lee la celda cambia el orden del día y mes ya que así se mostraría en EEUU parte que no me explique tal vez como debiera parte que no leyó mejor pero le agradezco su esfuerzo. Gracias.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas