PDA

View Full Version : foglio di calcolo blocco cancellazione o modifica su cella


StefSeb
15-03-2022, 12:38
Gentilissimi devo condividere un file (pensavo di usare un Foglio di Lavoro Google) in cui gli utenti possano segnare dei valori in un elenco.
Ho la necessità però che appena una cella viene valorizzata diventi protetta in modifica e cancellazione.

Come si può fare?

StefSeb
16-03-2022, 16:22
Non trovando la soluzione sto girando il problema.
Pensavo di Creare due fogli di cui uno nascosto (foglio 2)
Nel foglio 1 inserisco 3 colonne
Colonna A data
Colonna b slot orario
Colonna C da compilare
Appena uno compila un qualunque riga la colonna C
Ed esce O passa ad altra cella
Copia la riga compilata (cella in A, B, e C) nel foglio 2
Cancella la riga copiata dal foglio 1

In questo modo potrò vedere le cose inserite sicuro che non siano state modificate da altri e nessuno può scrivere in quello slot orario.
Per fare questo ho provato a scrivere questo codice che funziona in parte:
Sub Prova()
Sheets("foglio1").Select

Range("G1").Value = Range("C1").End(xlDown).Offset(0, 0).Value
Range("F1").Value = Range("C1").End(xlDown).Offset(0, -1).Value
Range("E1").Value = Range("C1").End(xlDown).Offset(0, -2).Value

Range("E1:G1").Select
Selection.Cut

Sheets("Foglio2").Visible = True
Sheets("foglio2").Select
Range("A65000").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
ActiveWindow.SelectedSheets.Visible = False


Sheets("foglio1").Select

Range("C1").End(xlDown).Offset(0, -2).RowDelete
# Questo non funziona, dovrebbe andare sulla cella di colonna A dove ha trovato la cella compilata ed eliminare la riga intera.
End Sub


La macro funziona in parte, trova la cella copia il contenuto in G1, copia le due colonne precedenti in E1 e F1, seleziona queste 3 celle, le "taglia" attiva il foglio 2 (che è nascosto) cerca la prima riga vuota e incolla la selezione.
RI nasconde il foglio 2 e dopo dovrebbe ritornare sulla prima cella della riga tovata prima e dovrebbe cancellare la riga.

Tutto questo è in Excell poi dovrò trovare il modo di passare in Google Sheets.

StefSeb
17-03-2022, 07:41
Sistemato il codice ora funziona


Sub Prova()

Sheets("foglio1").Select

Range("C1").End(xlDown).Offset(0, -2).Select
Application.CutCopyMode = False
Selection.Cut
Range("E1").Select
ActiveSheet.Paste

Range("C1").End(xlDown).Offset(0, -1).Select
Application.CutCopyMode = False
Selection.Cut
Range("F1").Select
ActiveSheet.Paste


Range("C1").End(xlDown).Offset(0, 0).Select
Application.CutCopyMode = False
Selection.Cut
Range("G1").Select
ActiveSheet.Paste

Range("E1:G1").Select
Selection.Cut
Sheets("Foglio2").Visible = True
Sheets("foglio2").Select
Range("A65000").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
ActiveWindow.SelectedSheets.Visible = False

Sheets("foglio1").Select

End Sub




Ora il problema è riscriverlo per Google Sheets!