Sviluppare funzionalita su Microsoft Office con VBA come evitare che si aggiorni il range di CONTA.SE se aggiungo righe?

LoginRegistrati
Stai vedendo 2 articoli - dal 1 a 2 (di 2 totali)
  • Autore
    Articoli
  • #29418 Risposta

    MP
    Partecipante
      `Sub archiviare()
      '
      ' archiviare Macro
      'NB il foglio db è xlsx, invece il referto che contiene macro è xlsx!
      'copia archiviare1, incolla valori e traspone in parcheggio, poi copia in riga 5 di "conc" del foglio db, infine ordina per data dalla riga 5
          Windows("cao_db.xlsx").Activate
          Sheets("conc").Select
          Rows("5:5").Select
          Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
          Windows("referto_cao_shimadzu.xlsm").Activate
          Application.Goto Reference:="archiviare1"
          
        ' trasforma in statica la formattazione condizionale=congela i grassetti
        
           Application.Run "'ASAP Utilities.xlam'!ASAPRunProc", 276
           
          Selection.Copy
          Windows("cao_db.xlsx").Activate
          Sheets("parcheggio").Select
          Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
              xlNone, SkipBlanks:=False, Transpose:=True
         ' copia il formato di archiviare1= copia i pat rossi
          Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
              SkipBlanks:=False, Transpose:=True
      
          Application.CutCopyMode = False
          Selection.Copy
          Sheets("conc").Select
          ActiveSheet.Paste
          Application.CutCopyMode = False
          ActiveWorkbook.Worksheets("conc").Range("A5:EK5000").Select
          Selection.Sort Key1:=Range("B5"), Order1:=xlAscending, Header:=xlGuess, _
              OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
              DataOption1:=xlSortNormal
          ActiveWorkbook.Save
      
      'copia archiviare2, incolla valori e traspone in parcheggio, poi copia in riga 5 di "aree" del foglio db, infine ordina per data dalla riga 5
      
       Sheets("aree").Select
          Rows("5:5").Select
          Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
          Windows("referto_cao_shimadzu.xlsm").Activate
          Application.Goto Reference:="archiviare2"
          Selection.Copy
          Windows("cao_db.xlsx").Activate
          Sheets("parcheggio").Select
          Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
              xlNone, SkipBlanks:=False, Transpose:=True
          Application.CutCopyMode = False
          Selection.Copy
          Sheets("aree").Select
          ActiveSheet.Paste
          Application.CutCopyMode = False
          ActiveWorkbook.Worksheets("aree").Range("A5:EK5000").Select
          Selection.Sort Key1:=Range("B5"), Order1:=xlAscending, Header:=xlGuess, _
              OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
              DataOption1:=xlSortNormal
       ' rimette in nero tutto
          With Selection.Font
              .ColorIndex = xlAutomatic
              .TintAndShade = 0
          End With
          
          ActiveWorkbook.Save
          
        ' copia la data di oggi da V14 in calce referto e impedisce futuri aggiornamenti
        
          Windows("referto_cao_shimadzu.xlsm").Activate
          Range("H21").Select
          Range("V14").Select
          Selection.Copy
          Range("I124").Select
          Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
              :=False, Transpose:=False
          Range("H21").Select
      ' lascia il cursore in alto a sinistra del referto da stampare
      End Sub
      `
      Allegati:
      You must be logged in to view attached files.
      #29675 Risposta
      rollis13
      rollis13
      Partecipante

        Mah, oggi non mi si accendono lampadine, pertanto, aggiriamo l'ostacolo così:

        Subito dopo la riga con cui fai l'inserimento fai mettere la formula (fissa) dalla macro stessa.

        ...
            Rows("5:5").Select
            Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
            Range("V2").FormulaLocal = "=CONTA.SE(D$5:D$5000;""C*"")" '<=aggiunta
            Windows("referto_cao_shimadzu.xlsm").Activate
        ...
      LoginRegistrati
      Stai vedendo 2 articoli - dal 1 a 2 (di 2 totali)
      Rispondi a: come evitare che si aggiorni il range di CONTA.SE se aggiungo righe?
      Gli allegati sono permessi solo ad utenti REGISTRATI
      Le tue informazioni:



      vecchio frac - 2750 risposte

      albatros54
      albatros54 - 1056 risposte

      patel
      patel - 1045 risposte

      Marius44
      Marius44 - 943 risposte

      Luca73
      Luca73 - 757 risposte