Buenas Noches:
Tengo los siguientes códigos:
Esté código copia a la hoja con el nombre de la celda T2
Sub Copiar_tkt_a_Kardex()
For Each Hoja In Worksheets
If Hoja.Name <> "TKT" Then
'Comprobamos antes si la hoja está entre las mencionadas en la columna R
Dim qRangoR As Range
Set Origen = Range("T2") 'qRangoR = Application.Intersect(Columns("N:N"), Hoja1.UsedRange)
For Each cell In Origen 'qRangoR
If cell.Value = Hoja.Name Then
'si la hoja coincide con alguno de los nombres de la columna N, se ejecuta
' Worksheets("TKT").Range("$A$3:$n$100").AutoFilter FIELD:=14, Criteria1:=Hoja.Name
uFila = Worksheets("TKT").Range("A" & Rows.Count).End(xlUp).Row
Worksheets("TKT").Range("b3:s" & uFila).Copy Destination:=Worksheets(Hoja.Name).Range("A" & Rows.Count).End(xlUp).Offset(1)
Else
'si no coincide no hace nada
End If
Next cell
End If
Next
End Sub
Esté código ingresa un formato condicional
Sub Condiduplic()
Range("D7:D10000").Select
Selection.FormatConditions.AddUniqueValues
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
Selection.FormatConditions(1).DupeUnique = xlDuplicate
With Selection.FormatConditions(1).Font
.Color = -16383844
.TintAndShade = 0
End With
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 13551615
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
Range("a6").Select
End Sub
Esté código elimina el formato condicional
Sub Elicondi()
With AppExcel
Range("d7:d10000").Select
Selection.FormatConditions.Delete
End With
Range("a6").Select
End Sub
Bueno lo que yo quiero es que a la hoja seleccionada según el valor de la hoja TKT celda T2 al momento de copiar los valores de mi hoja, de la misma manera a la misma hoja primero que elimine los formatos condicionales y luego los vuelva a re establecer, se que es medio raro lo que necesito pero es para evitar que se cargue de formatos.
Desde ya muchas gracias
Saludos cordiales
Jesús
¿Por qué no pegas sólo valores? así no arrastras formatos ni tendrías que redefinir continuamente el formato condicional existente
Si lo que tienes en tus celdas son fórmulas, con pegado especial también puedes pegar sólo las fórmulas, sin formatos.
para el pegado especial debes utilizar el método .PasteSpecial del rango de destino. Modifica la línea donde copias y pegas y pon estas dos en su lugar (la primera línea copia, la segunda hace el pegado especial:
Worksheets("TKT").Range("b3:s" & uFila).Copy
Worksheets(Hoja.Name).Range("A" & Rows.Count).End(xlUp).Offset(1).PasteSpecial xlPasteValues
------
Ya sé Excel, pero necesito más.
Gracias por responder Pacomegia, pero lo que queria es ver si se puede introducir en alguna de las lines el hecho de borrar los formatos condicionales y despues ejecutarlo nuevamente,
Saludos
Jesús
Jesus Martinez Plantarosa
pero el código para eliminar el formato condicional y para luego volve a aplicarlo ya lo has puesto en tu primer mensaje
Entiendo entonces que bastaría con borrar antes de copiar/pegar y luego volver a aplicarlo:
Worksheets("TKT").activate
Elicondi
Worksheets("TKT").Range("b3:s" & uFila).Copy Destination:=Worksheets(Hoja.Name).Range("A" & Rows.Count).End(xlUp).Offset(1)
Condiduplic
Tal y como están definidos, son procedimientos que se aplican en la hoja activa, por eso activo la hoja de la que estás copiando, que supongo que es donde quieres eliminar tu formato (no sé si ya estaba activa de antes o no)
no sé si es esto a lo que te refieres
------
Ya sé Excel, pero necesito más.
Estimado Pacomegia este es el código que utilizo
Sub Copiar_Egr_a_Kardex()
For Each Hoja In Worksheets
If Hoja.Name <> "EGR" Then
'Comprobamos antes si la hoja está entre las mencionadas en la columna R
Dim qRangoR As Range
'Set qRangoR = Application.Intersect(Columns("P:P"), Hoja28.UsedRange)
Set Origen = Range("N2")
For Each cell In Origen
If cell.Value = Hoja.Name Then
'si la hoja coincide con alguno de los nombres de la columna N, se ejecuta
' Worksheets("REC").Range("$A$3:$P$100").AutoFilter FIELD:=16, Criteria1:=Hoja.Name
uFila = Worksheets("EGR").Range("A" & Rows.Count).End(xlUp).Row
'Elicondi aqui supuestamente deberia eliminar el formato
Worksheets("EGR").Range("b3:M" & uFila).Copy Destination:=Worksheets(Hoja.Name).Range("A" & Rows.Count).End(xlUp).Offset(1)
'Condiduplic aqui supuestamente activarlo
Else
'si no coincide no hace nada
End If
Next cell
End If
Next
Range("a2").Select
End Sub
Solo hice algunas moficaciones , pero la idea continua, de que a la hoja que se tiene que pegar los valores, primero elimine los formatos condionales y despues una vez copiado vuelva a tener formato condicional, desde ya muchas gracias por tu atención.
Saludos cordiales
Jesús
Jesus Martinez Plantarosa