Agregar info en celdas utilizando macro con bucle
tengo una macro depuradora de formatos y letras que se corre para todas las hojas activas del libro excepto una.
a dicha macro le quiero agregar la instrucción de insertar dos columnas, en todas las hojas activas del libro y en una de las columnas agregarle un determinado texto en las filas que contiene.
Lo que me ocurre, es que el bucle que contiene la macro me repite la información que deseo agregar en ésa columna y celdas, tantas veces como hojas activas tenga.
Cómo puedo restringirlo para que se informe ése texto en un determinado lugar de cada hoja activa, pero sólo una vez sin repeticiones.
debajo les dejo mi macro depuradora:
Option Explicit Sub Macro_Pedidos_all_sheets() 'Macro creada por usuario akmontesdeoca 21-11-2012 'con ella se podrán validar todas las hojas sin necesidad de nombre, etc. 'a su vez las hojas se desprotejeran de forma automática sin necesidad de introducir 'la pasword manual, con un solo click la macro se depura sin problemas Dim sht, hoja As Worksheet Dim i As Integer For Each sht In Sheets 'Corremos un if en donde validamos que sht sea un worksheet y de ser así deshabilitamos el 'password de igual manera evitamos que a la hoja llamada CALCULO pierda 'la protección If TypeName(sht) = "Worksheet" And Not sht.Name = "CALCULO" Then sht.Unprotect Password:="11" 'Activamos las hojas y Apliamos aun 135% sht.Activate ActiveWindow.Zoom = 135 End If 'Falto la linea que cierra el if Next sht 'En el siguiente bucle integraras la exclusión para la hoja CALCULO '................................................................................................................................ 'Se ah agregado un ciclo for el caul contara el numero total de las hojas y excluira la hoja con el nombre calculo | 'al momento de desarrollar macros las comillas (")indican que el tipo de dato es String (cadena de texto) | 'por lo tanto en una comparacion se distingiran Mayusculas de minusculas. Ese era uno de los problemas que se tenian | ' Por otro lado no se puede hacer un Remplace desde un For Each en todas las hojas ya que la busqueda guardara | 'Los parametros anteriores y los mostrara como que ya sea realizado el reemplazo | 'Es por eso que el for contara las hojas y se basaran en el numero de Index que tienen para poder ir activando hoja por hoja | 'y de esa manera la busqueda sabra que tiene parametros diferentes | '................................................................................................................................ For i = 1 To Sheets.Count 'ESTE ES EL FOR QUE INDICA EL NUMERO DE INDEX DE CADA HOJA For Each hoja In Worksheets Worksheets(i).Select 'AQUI INDICAMOS QUE LA HOJA SE ACTIVE CON SU NUMERO DE INDEX If ActiveSheet.Name <> "CALCULO" Then 'de este modo excluirás la hoja CALCULO 'Aquí escribirás todas las sentencias que quieres que se ejecuten en las demás hojas Cells.Select Selection.ClearFormats 'con esta instrucción quiero que se le borren los formatos a la hoja 'lo hago para las celdas fusionadas, así no las tengo que eliminar antes Columns("A:A").Select Selection.NumberFormat = "0" Selection.NumberFormat = "0" Selection.NumberFormat = "@" 'para la columna A = legajo le asigno formato de texto, así veo los números en un solo 'formato Range("B:B,E:E").Select Selection.Replace What:="á", Replacement:="a", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False Selection.Replace What:="é", Replacement:="e", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False Selection.Replace What:="í", Replacement:="i", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False Selection.Replace What:="ó", Replacement:="o", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False Selection.Replace What:="ú", Replacement:="u", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False Selection.Replace What:="ñ", Replacement:="n", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False Selection.Replace What:="¥", Replacement:="N", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False Selection.Replace What:=" ", Replacement:=" ", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False Selection.Replace What:=" ", Replacement:=" ", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False Selection.Replace What:=".", Replacement:="", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False Selection.Replace What:="-", Replacement:="", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False Selection.Replace What:=",", Replacement:="", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False Range("A1").Select Selection.ColumnWidth = 9 Range("B1").Select Selection.ColumnWidth = 24 Range("C1").Select Selection.ColumnWidth = 14 Range("D1").Select Selection.ColumnWidth = 11 Range("E1").Select Selection.ColumnWidth = 20 Columns("C:C").Select Columns("C:C").Select Selection.NumberFormat = "#,##0.00" Selection.NumberFormat = "0.00" Selection.NumberFormat = "0" Selection.NumberFormat = "0.00" Columns("A:E").Select Range("E1").Activate Selection.Font.Italic = False Columns("A:E").Select Range("E1").Activate With Selection.Font .Name = "Arial" .Size = 10 .Strikethrough = False .Superscript = False .Subscript = False .OutlineFont = False .Shadow = False .Underline = xlUnderlineStyleNone .ColorIndex = xlAutomatic End With With Selection.Font .Name = "Arial" .Size = 10 .Strikethrough = False .Superscript = False .Subscript = False .OutlineFont = False .Shadow = False .Underline = xlUnderlineStyleNone .ColorIndex = xlAutomatic End With Range("B:B, D:D, E:E").Select 'se añaden las columnas D y E para eliminar determinados tiles, comas y espacios Selection.Replace What:=".", Replacement:=" ", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Selection.Replace What:=",", Replacement:=" ", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Selection.Replace What:=";", Replacement:=" ", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Selection.Replace What:="-", Replacement:=" ", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Selection.Replace What:="à", Replacement:="a", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Selection.Replace What:="è", Replacement:="e", LookAt:=xlPart, _ SearchOrder:=xlByRows,...