Hola Macro que no cambie el formato de su celda al generar nueva información.
Hola que tal expertos, quisiera solicitar de su ayuda ya que por mas que eh hecho pruebas no me sale la macro que quiero No soy experta en programación ni en macros, pero eh estado leyendo e investigando pero ahora me eh visto en la necesidad de hacerlo, tengo una parte pero su funcionalidad no es al 100, bueno lo que tengo ahora es una macro que me distribuye a lo largo de todas las hojas la información de acorde a la comparación que realiza en la celda que esta situado en al celda A1 de cada hoja, mi problema es que yo quiero que la información que encuentre me la distribuya en cada hoja a partir de la celda B15, eh puesto una variable cont, que cada que entra me incrementa en uno para que vaya saltando celda, el problema es que no se donde tengo que inicializar esta variable para que cada que es una hoja nueva comience en 15 y no donde se quedo en la hoja anterior, es decir por ahora si en la hoja ACAPULCO empieza en B15 pero en la hoja AGUAS CALIENTES comienza a llenar la información en la celda siguiente a donde finalizo en ACAPULCO. Si ponga la variable cont = 15 fuera del ciclo lo único que hace es empalmarme la información de cada hoja en la celda B15, pero ese tampoco es el objetivo.
También me gustaría saber si me pueden apoyar u orientar ya que cada hoja tiene un formato igual, solo que no se como hacer para que cuando por ejemplo si hoy saco un reporte y resulta que de ACAPULCO me encontró 5 datos y en mi hoja solo tengo 2 renglones con formato me agregue 3 renglones con el mismo formato, y si al dia siguiente genero otra vez información, y resulta que en mi hoja ACAPULCO solo fue un dato el que me encontré me elimine los 4 renglones y me deje solo 1 con el formato ya establecido, de antemano muchas gracias por tomarse el tiempo de leer mi problema.
Anexo link de ejemplo y código de la macro:
http://www25.zippyshare.com/v/4084323/file.html
Sub DistribuirPorEstado()
Dim Hoja As Worksheet
Dim cont As Integer
Application.ScreenUpdating = False
Sheets("ACUMULADO").Select
For Each Hoja In Sheets
If Hoja.Name <> ActiveSheet.Name Then
'Borra el rango A:F desde la fila 2 hasta el final de datos
Hoja.Range("B15:F" & Hoja.Range("B" & Rows.Count).End(xlUp).Row + 1).Cells.ClearContents
End If
Next
cont = 15
For x = 2 To Range("A" & Rows.Count).End(xlUp).Row
If x Mod 100 = 0 Then Application.StatusBar = "... Procesando fila " & x
For Each Hoja In Sheets
'if hoja.name es diferente de la hoja anterior entonces
If Hoja.Name <> ActiveSheet.Name Then
If Range("F" & x) = Hoja.Range("A1") Then
Hoja.Cells(cont, "B").Value = Range("A" & cont)
'cont = 15
cont = cont + 1
Exit For
End If
End If
Next
Next
Application.StatusBar = "Listo"
End Sub