ciao Anthony e grazie
ho provato la tua soluzione e ovviamente funziona.
Ora sto provando ad applicarla su un altro file con i dati pero' spostati in altre colonne (mi pareva semplice ma non capisco dove sbaglio)
I nuovi dati sono in colonna G2:G183 (la colonna dove deve fare il check per la presenza della "x")
mentre le colonne dove scrivere la x random se il check e' positivo sono H2:AL183.
ho cambiato cosi' il tuo codice ma non va:
- Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
ur = Cells(Rows.Count, 1).End(xlUp).Row
For i = 4 To 35
If Cells(2, i) = "" Then uc = i - 1: Exit For
Next i
Dim myC As Range
Randomize
Application.EnableEvents = False
For Each myC In Target
If Not Intersect(myC, Range("g3:g183")) Is Nothing Then
If UCase(Cells(myC.Row, 3)) = "X" Then
Range("H" & myC.Row & ":AL" & myC.Row).ClearContents
For j = 1 To 3
c = Application.WorksheetFunction.RandBetween(4, uc)
If Cells(myC.Row, c) = "" Then
Cells(myC.Row, c) = "X"
Else
j = j - 1
End If
Next j
ElseIf Cells(myC.Row, 3) = "" Then
Range("H" & myC.Row & ":AL" & myC.Row).ClearContents
End If
End If
Next myC
Application.EnableEvents = True
End Sub
dove sbaglio per piacere?
Grazie, Marco