Moderatori: Anthony47, Flash30005
=IF(logical_test; [value_if_true]; [value_if_false])
=IF(A1>120;"";"CIAO")
aaa ha scritto:mi potete suggerire un modo per inibire la compilazione di una o più celle a seconda del contenuto di un'altra casella?
Ho raggiunto il risultato ma è un palliativo. Questo perchè, se si sbaglia (anche se bisogna essere dei polli) la scelta nella casella di controllo, si avranno ovvie difficoltà etc etc
=SE(A1="A";"Compilare B1, C1, D1";SE(A1="B";"Compilare B1";"Errata compilazione di A1"))
Dim OldA
Private Sub Worksheet_Calculate()
If Range("A1") = OldA Then Exit Sub
Application.EnableEvents = False
Range("B1:D1").ClearContents
OldA = Range("A1").Value
Application.EnableEvents = True
End Sub
è possibile utilizzare il SE su ogni cella della colonna?
=SE(A1="A";SE(E(B1<>"";C1<>"";D1<>"");"";"Compilare Colonna "&SE(B1="";"B ";"")&SE(C1="";"C ";"")&SE(D1="";"D";""));SE(A1="B";SE(B1="";"Compilare B1";"");"Errata compilazione di A1"))
Private Sub Worksheet_Calculate()
CellePilota = "A1:A10" '<<< Indicare l' area che contiene celle pilota
WorkCol = "Z1" '<<< Indicare una colonna libera
Application.EnableEvents = False
NCP = Range(CellePilota).Rows.Count
For I = 0 To NCP - 1
If Range(CellePilota).Range("A1").Offset(I, 0).Value <> Range(WorkCol).Offset(I, 0).Value Then
Range(WorkCol).Offset(I, 0).Value = Range(CellePilota).Range("A1").Offset(I, 0).Value
Range(CellePilota).Range("A1").Offset(I, 0).Range("B1:D1").ClearContents
End If
Next I
Application.EnableEvents = True
End Sub
Sub blocca()
ActiveSheet.Unprotect ' toglie protezione foglio
Range("E1").Select ' seleziona cella
Selection.Locked = False ' toglie blocco dalla cella
Selection.Locked = True ' blocca cella
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True ' blocca foglio
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Const COLONNA_CONTROLLANTE = 1
Const RIGA_CONTROLLANTE = 1
Const COLONNA_CONTROLLATA = 1
Const RIGA_CONTROLLATA = 2
If Target.Column = COLONNA_CONTROLLANTE And Target.Row = RIGA_CONTROLLANTE Then
If Cells(COLONNA_CONTROLLANTE, RIGA_CONTROLLANTE) = "1" Then
ActiveSheet.Unprotect ' toglie protezione foglio
Cells(COLONNA_CONTROLLATA, RIGA_CONTROLLATA).Select ' seleziona cella
Selection.Locked = False ' toglie blocco della cella
Cells(COLONNA_CONTROLLATA, RIGA_CONTROLLATA) = "modificabile"
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True ' blocca foglio
Else
ActiveSheet.Unprotect ' toglie protezione foglio
Cells(COLONNA_CONTROLLATA, RIGA_CONTROLLATA).Select ' seleziona cella
Selection.Locked = True ' attiva blocco della cella
Cells(COLONNA_CONTROLLATA, RIGA_CONTROLLATA) = "fissa"
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True ' blocca foglio
End If
End If
End Sub
Selection.Font.ColorIndex = 3
Selection..Interior.ColorIndex = 6
Torna a Applicazioni Office Windows
Inserimento parziale valore cella in MessageBox Autore: Ricky0185 |
Forum: Applicazioni Office Windows Risposte: 6 |
Ordinare colonne sulla stessa riga se stesso contenuto Autore: Ricky0185 |
Forum: Applicazioni Office Windows Risposte: 10 |
Inserire add.in nella barra di avvio veloce in excel 2003 Autore: Ricky0185 |
Forum: Applicazioni Office Windows Risposte: 4 |
Aggiornare cella con somma quando aggiungo nuova colonna Autore: marcopont |
Forum: Applicazioni Office Windows Risposte: 1 |
Visitano il forum: Nessuno e 13 ospiti