Copiar como valor datos de una hoja a otra hoja

Una consulta, tengo el siguiente código VB que gentilmente el experto Dan me ayudo a realizar mi consulta :

Sub tabla_dinamica_multihoja() 'por.dam Set h1 = Sheets("tabla") Application.ScreenUpdating = False h1.Select h1.Range("A4", ActiveCell.SpecialCells(xlLastCell)).ClearContents
For Each hoja In Worksheets Select Case hoja.Name Case "tabla", "ejemplo", "plan" Case Else hoja.Select ActiveSheet.AutoFilterMode = False Columns("A:F").Select Selection.AutoFilter fec = h1.Range("B1") Selection.AutoFilter Field:=1, Criteria1:=fec If Range("B" & Rows.Count).End(xlUp).Row > 1 Then Range("B2").Select Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select Selection.Copy Sheets("tabla").Select fila = Range("B" & Rows.Count).End(xlUp).Row + 1 Range("B" & fila).Select ActiveSheet.Paste Range("A" & fila) = hoja.Name End If ActiveSheet.AutoFilterMode = False End Select Next h1.Select Range("A3").Select Application.ScreenUpdating = True
MsgBox "Datos Filtrados a la hoja tabla" End Sub
Sub Macro3() ' Selection.AutoFilter Field:=1, Criteria1:="03/03/2012" End Sub

Es excelente el código y funciona a la perfección, solo que cual seria el código para que copie los datos como pegado especial la opción valores, esto es porque saco los datos de otras hojas con la fuincion´´on = , o sea que paso datos de la hoja1 a la hoja2 ejmpl. " =BOLETOS2!B419 " y con este código lo copia así pero yo quisiera que lo copia como valor, gracias mil

Jesús

1 Respuesta

Respuesta
1

Cambia todo el código por este:

Sub tabla_dinamica_multihoja()
'por.dam
Set h1 = Sheets("tabla")
Application.ScreenUpdating = False
h1.Select
h1.Range("A4", ActiveCell.SpecialCells(xlLastCell)).ClearContents
For Each hoja In Worksheets
    Select Case hoja.Name
    Case "tabla", "ejemplo"
    Case Else
        hoja.Select
        ActiveSheet.AutoFilterMode = False
        Columns("A:F").Select
        Selection.AutoFilter
        fec = h1.Range("B1")
        Selection.AutoFilter Field:=1, Criteria1:=fec
        If Range("B" & Rows.Count).End(xlUp).Row > 1 Then
            Range("B2").Select
            Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
            Selection.Copy
            Sheets("tabla").Select
            fila = Range("B" & Rows.Count).End(xlUp).Row + 1
            Range("B" & fila).Select
            'ActiveSheet.Paste
            Selection.PasteSpecial Paste:=xlPasteValues, _
            Operation:=xlNone, SkipBlanks:=False, Transpose:=False
            Range("A" & fila) = hoja.Name
        End If
        ActiveSheet.AutoFilterMode = False
    End Select
Next
h1.Select
Range("A3").Select
Application.ScreenUpdating = True
MsgBox "Datos Filtrados a la hoja tabla"
End Sub

Prueba y me comentas

Saludos. Dam
Si es lo que necesitas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas