Dichiarazione cancella formule



  • Dichiarazione cancella formule
    di Glenfiddich (utente non iscritto) data: 06/11/2015 12:16:03

    Buongiorno a tutti,
    ho un problema che mi attanaglia. Quando il codice arriva a:

    Range("a3").Value = val1
    Range("b3").Value = val2

    Al posto che impostare il valore, mi inserisce 0 sia in A3 sia in B3.

    Sicuramente c'è un errore nelle dichiarazioni, per cortesia datemi una mano. Grazie in anticipo.
    Saluti
     
    Sub arben()
    
    'arben
    
        Sheets("Pivot Impiego Ore").Select
        
    
        
        With ActiveSheet.PivotTables("Tabella_pivot1").PivotFields("Operatori")
            .PivotItems("ARSEN").Visible = False
            .PivotItems("AYNI").Visible = False
            .PivotItems("ELTON").Visible = False
            .PivotItems("LEO").Visible = False
            .PivotItems("MARCO").Visible = False
            .PivotItems("MARIA/MARIO").Visible = False
            .PivotItems("NICO").Visible = False
            .PivotItems("PASQUALE").Visible = False
            .PivotItems("SIMO/PAOLA").Visible = False
            .PivotItems("SIMONE").Visible = False
            .PivotItems("TANIA").Visible = False
            .PivotItems("TANO").Visible = False
            .PivotItems("ZAMIR").Visible = False
            .PivotItems("(blank)").Visible = False
            .PivotItems("MARCELLO").Visible = False
            .PivotItems("GABRIELE P.").Visible = False
            .PivotItems("LUCA").Visible = False
            .PivotItems("STEFANO").Visible = False
            .PivotItems("MARIA").Visible = False
            .PivotItems("zz").Visible = False
            .PivotItems("SHPETIM").Visible = False
            .PivotItems("RENATO").Visible = False
        End With
    
        Columns("H:K").Select
        Selection.EntireColumn.Hidden = True
        
        With Columns("A:H")
        Set c = .Find("Totale complessivo", LookIn:=xlValues)
        If c Is Nothing Then
        MsgBox "Non esiste", vbExclamation
        Else
        Cells.Find(What:="Totale complessivo", After:=ActiveCell, LookIn:=xlFormulas, _
            LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
            MatchCase:=False, SearchFormat:=False).Activate
        
        Range(ActiveCell.Offset(0, 5), ActiveCell.Offset(0, 11)).Select
        Selection.Copy
        Sheets("Stampa schede").Select
        Range("a1").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        Application.CutCopyMode = False
        
        Range("A2:B2").Select
        Selection.Copy
        Range("A3").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Application.CutCopyMode = False
        
        End If
        End With
        
        
    Range("a3").Value = val1
    Range("b3").Value = val2
        
        
    End Sub



  • di Mister_x (utente non iscritto) data: 06/11/2015 12:31:28

    ciao

    prima cosa e' sempre utile inserire all'inizio
    Option Explicit
    sub arben()

    in questo modo ti avrebbe detto che le variabili non sono dichiarate

    dim val1 as double, val2 as double

    ricevi sempre un valore 0 in quanto non vedo in nessun modo , nella tua sub(),dove tu dai un valore a val1 e val2

    ciao





  • di alfrimpa data: 06/11/2015 12:32:14

    Ciao Glenfiddich

    Non conosco le pivot ma leggendo il tuo codice non mi sembra (salvo errore) che prima di

    Range("a3").Value = val1
    Range("b3").Value = val2

    vi sia un'istruzione che imposti le variabili (peraltro non dichiarate nella macro) val1 e val2 con un valore.

    Mi perdo qualcosa?

    Alfredo





  • di alfrimpa data: 06/11/2015 12:43:45

    Cia Mister_x

    Ci siamo sovrapposti dicendo le stesse cose

    Un saluto

    Alfredo





  • di Glenfiddich (utente non iscritto) data: 06/11/2015 14:07:24

    Scusate, prima avevo omesso le dichiarazioni. Comunque inserendo Option Explicit mi da errore su:

    Set c = .Find("Totale complessivo", LookIn:=xlValues)
     
    Dim val1 As Double
    Dim val2 As Double
    Option Explicit
    Sub arben()
    
    'arben
    
        Sheets("Pivot Impiego Ore").Select
        
    
        
        With ActiveSheet.PivotTables("Tabella_pivot1").PivotFields("Operatori")
            .PivotItems("ARSEN").Visible = False
            .PivotItems("AYNI").Visible = False
            .PivotItems("ELTON").Visible = False
            .PivotItems("LEO").Visible = False
            .PivotItems("MARCO").Visible = False
            .PivotItems("MARIA/MARIO").Visible = False
            .PivotItems("NICO").Visible = False
            .PivotItems("PASQUALE").Visible = False
            .PivotItems("SIMO/PAOLA").Visible = False
            .PivotItems("SIMONE").Visible = False
            .PivotItems("TANIA").Visible = False
            .PivotItems("TANO").Visible = False
            .PivotItems("ZAMIR").Visible = False
            .PivotItems("(blank)").Visible = False
            .PivotItems("MARCELLO").Visible = False
            .PivotItems("GABRIELE P.").Visible = False
            .PivotItems("LUCA").Visible = False
            .PivotItems("STEFANO").Visible = False
            .PivotItems("MARIA").Visible = False
            .PivotItems("zz").Visible = False
            .PivotItems("SHPETIM").Visible = False
            .PivotItems("RENATO").Visible = False
        End With
    
        Columns("H:K").Select
        Selection.EntireColumn.Hidden = True
        
        With Columns("A:H")
        Set c = .Find("Totale complessivo", LookIn:=xlValues)
        If c Is Nothing Then
        MsgBox "Non esiste", vbExclamation
        Else
        Cells.Find(What:="Totale complessivo", After:=ActiveCell, LookIn:=xlFormulas, _
            LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
            MatchCase:=False, SearchFormat:=False).Activate
        
        Range(ActiveCell.Offset(0, 5), ActiveCell.Offset(0, 11)).Select
        Selection.Copy
        Sheets("Stampa schede").Select
        Range("a1").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        Application.CutCopyMode = False
        
        Range("A2:B2").Select
        Selection.Copy
        Range("A3").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Application.CutCopyMode = False
        
        End If
        End With
        
        
    Range("a3").Value = val1
    Range("b3").Value = val2
        
        
    End Sub
    
    



  • di alfrimpa data: 06/11/2015 14:47:28

    Ciao Glenfiddich

    Tre cose:

    1) Le variabili vanno dichiarate dentro la sub ed Option Explicit va posto in cima al modulo
    2) Anche stavolta non vedo impostato il valore di val1 e val2
    3) Che errore ricevi su "Set c = .Find("Totale complessivo", LookIn:=xlValues)?

    Infine ti consiglio di allegare un tuo file di esempio in modo che chi volesse rispondere possa testare la macro sul campo.

    Alfredo





  • di alfrimpa data: 06/11/2015 15:48:13

    Ma il quesito è stato risolto?

    Io ho trovato la spunta.

    Alfredo