Insertar un carácter en una celda de excel

Me pudieran ayudar para agregar un carácter en muchas celdas aproximadamente 10000,
Ejemplo tengo en una celda 19/09/2009  12:00:00 a.m. Y quisiera poner el carácter al principio de este contenido osea quedando así '19/09/2009  12:00:00 a.m., como lo podría hacer en una macro para que me lo pusiera en todas mis celdas, gracias por la ayuda que tiene un desesperado por terminar su trabajo que tengo que terminar el día 25 de septiembre ayudaaaaaaaaaaaaa.

2 respuestas

Respuesta
1
Pues si te pones a hacerlo manualmente ya, puede que si alcances antes del 25 :P... no te creas, en el Editor de VBA (ALT + F11), menu insertar, Modulo, ahí pon esto:
Sub AgregaCaracter()
Dim iColumna as String, Ini, U as Long
iColumna = "A"
Ini = 4
U = Range("A" & Rows.Count).Row
Range(iColumna & Ini, Cells(U, iColumna)).Select
For each c in Selection.Cells
     c.Value = "'" & c.Value
Next
Msgbox "Proceso Terminado"
End Sub
Puse la variable iColumna para que solo modifiques donde dice iColumna = "A" por la Columna donde están tus datos que quieres cambiar, y la variable Ini es el Numero de la Fila donde comienzan tus datos, los modificas a tu caso.
Y para ejecutarlo solo Presiona F5
Buenas noches:
Gracias por tu rutina es genial heeeeee
Pero tengo otra duda, fíjate que la columna donde tengo que poner el caractaer esta EN FORMA DE FECHA, como podría manejar eso en tu rutina porfas ayudame gracias
Respuesta
1
Antes que nada el apostrofe (') antes de cualquier texto o numero en excel significa que lo ingresado es un texto por lo que deberás utiliar la tilde (´), la puedes sacar con tilde y barra espaciadora.
El código de la macro seria el siguiente:
Public Sub InsertarCaracter()
   Dim i As Integer
   Dim PrimeraFila As Integer
   Dim UltimaFila As Integer
   Dim Columa As Integer
   PrimeraFila = 1
   UltimaFila = 4
   Columna = 1 'Columna A
   For i = PrimeraFila To UltimaFila
      ' No pongas el apostrofe, pon tilde y un espacio
      '    ya que en excel el apostrofe significa que ingresaste un texto
      Cells(PrimeraFila + i, Columna) = "´" & Cells(PrimeraFila + i, Columna)
   Next i
End Sub
El tener esto en una hoja de excel: 
A1 = 19/02/09 1:00 p.m.
A2 = 16/03/09 12:00 a.m.
A3 = 29/06/09  2:00 p.m.
A4 = 13/07/09 12:40 a.m.
la salida seria:
A1 = ´19/02/09 1:00 p.m.
A2 = ´16/03/09 12:00 a.m.
A3 = ´29/06/09  2:00 p.m.
A4 = ´13/07/09 12:40 a.m.
Buenos días:
Ya realice lo que me dices en el proceso pero, te comento que cuando corro el proceso paso a paso en la celda que esta el dato no me respata lo que esta en la celda me pone numero osea no respeta esto ( 19/02/09  01:00 p.m. ) si no mepone numero, sera por que la celda tiene formato de hora, como podría corregir esto en tu rutina
Tienes mucha razón es por el formato.
Agrega antes de Cells(PrimeraFila + i, Columna) = "´" & Cells(PrimeraFila + i, Columna), la siguiente linea:
Cells(PrimeraFila + i, Columna).NumberFormat = "dd/mm/yyyy hh:mm AM/PM"
Espero te funcione, hay nos cuentas :-D

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas