rimettere formula dopo delete

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
maxma62
00sabato 3 dicembre 2016 22:51
Ciao a tutti.
La macro nel workbook allegato creata con il registratore.

Option Explicit

Sub rimetti_formula()

 'ActiveSheet.Unprotect "123456"

 Range("B2:B20").Select
 
        
          Range("B2:B20").Formula = "=IF(RC3="""","""",IF(ISNA(VLOOKUP(RC3,data_base!R1C1:R10000C2,2,FALSE)),""CODICE NON PRESENTE"",VLOOKUP(RC3,data_base!R1C1:R10000C2,2,FALSE)))"
        
          
 'ActiveSheet.Protect "123456"
 
End Sub


rimette le formule nel range B2:B20.
Non riesco a modificare la macro per inserire la formula solo in una cella del range selezionandola e non in tutto il range sempre con un pulsante.
Un grazie in anticipo.
max

rollis13
00domenica 4 dicembre 2016 00:52
Per applicare la macro ad una cella selezionata usa solo questa riga di codice così:

Activecell.Formula = ...
maxma62
00domenica 4 dicembre 2016 08:40
Ciao rollis,
non è proprio esatto.
La macro ora è:

Sub rimetti_formula_2() 'solo una cella

 ActiveSheet.Unprotect "123456"

 'Range("B2:B20").Select
 
        
          ActiveCell.Formula = "=IF(RC3="""","""",IF(ISNA(VLOOKUP(RC3,data_base!R1C1:R10000C2,2,FALSE)),""CODICE NON PRESENTE"",VLOOKUP(RC3,data_base!R1C1:R10000C2,2,FALSE)))"
        
     [B2].Select
          
 ActiveSheet.Protect "123456"
 
End Sub


nono rimette la formula nella cella selezionata del Range("B2:B20").Select
max
max
rollis13
00domenica 4 dicembre 2016 09:21
Che dirti. Ho nuovamente scaricato il tuo esempio, ho copiato la riga di codice dal tuo ultimo post e l'ho creato una macro di una sola riga, associata ad uno dei bottoni. Una volta posizionato il cursore in una cella e cliccato il bottone la cella popola con la formula.
Chiaramente così com'è funziona anche per le altre celle, vuote o compilate che siano, ma per questo basta metterci un test, prima di quella riga di codice, che verifichi la congruenza del range B2:B20 (ed eventualmente se la cella già contiene una formula).
Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 16:05.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com