Ciao Anthony,
ho fatto un po' di prove.. Ho una notizia bella e una brutta
partiamo dalla bella:
- la tua macro ultimo aggiustamento funziona benissimo, elimina la riga dalla tabella e la incolla nel foglio destinazione, ho solo modificato l'attivazione con il doppio click e ho aggiunto un comando ai piedi del codice per terminare nel Foglio destinazione.
- Grazie alle modifiche aggiunte ieri sera funziona solo nell'intervallo della Tabella trascurando gli spazi esterni -Perfetto!
- Si riattiva ogni volta che faccio doppio click e non si interrompe più -Perfetto!
- Adesso funziona anche con il foglio filtrato -Perfetto anche questo punto.
Direi che questa parte di programma è risolta
allego la macro finale per chi volesse dare un'occhiata
- Codice: Seleziona tutto
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim NomeTab As String
'Questa Macro seleziona una riga in Tabella213 (contenente i dati Macchina(es. tipo pistone, tipo verniciatura ecc.)
'e la incolla in Foglio1, lì i dati verranno corretti in base alle specifiche dell' Ordine Cliente
NomeTab = "Tabella213"
Application.ScreenUpdating = False
'
If Not Application.Intersect(Target, Me.ListObjects(NomeTab).DataBodyRange) Is Nothing Then
Cells(Target.Row, "B").Resize(1, 15).Select
Cancel = True
rispo = MsgBox("Spostare la riga selezionata su Foglio Ordine Cliente e cancellarla da questa posizione?" & vbCrLf _
& "OK per confermare, ANNULLA per annullare ", vbOKCancel)
If rispo <> vbOK Then
Target.Select
Exit Sub
End If
Application.EnableEvents = False
Selection.Copy Sheets("Foglio1").Range("B9")
Sheets("Foglio1").Range("B9").Resize(1, 15).Value = Selection.Value
Application.CutCopyMode = False
csel = Selection.Address
If Target.ListObject.AutoFilter.FilterMode Then Target.ListObject.AutoFilter.ShowAllData
Range(csel).Select
Selection.Delete Shift:=xlUp
Application.EnableEvents = True
Range("A1").Select 'aggiunto per evitare che rimanesse selezionata la riga tabella sottostante a quella esportata
Sheets("Foglio1").Select 'aggiunto per terminare in foglio destinazione
Application.ScreenUpdating = True
End If
End Sub
Veniamo al problema:
nello stesso Foglio dove ho inserito la Macro che ho postato sopra, ho inserito (prendendo spunto dalla tua macro perfettamente funzionante in Foglio3) quest'altra macro che mi avevi preparato per inserire la X con il doppio click, ovviamente ho riadattato i campi di intervento e funzionava perfettamente prima che installassi la macro che esporta la riga dalla tabella.
- Ora succede che se anche questa funziona una volta soltanto e poi va in blocco senza darmi errori, semplicemente non inserisce più la X al secondo tentativo di doppio click, con il risultato che la cella si attiva in modalità cursore come per lasciarmi inserire un valore
- a questo punto, se torno nel Foglio con la Tabella e provo a fare il doppio click su una riga non funziona più nemmeno la macro che trasferisce la riga.
posto anche le Macro inserite nel modulo di classe di Foglio1
- Codice: Seleziona tutto
Sub Inserisce_la_x_con_click_mouse_bis()
'
' Inserisce_la_x_con_doppioclick_mouse
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
' Inserisce_la_x_con_doppioclick_mouse
CheckareaF = "F22:F61"
If Not Application.Intersect(Target, Range(CheckareaF)) Is Nothing Then
If Target = "" Then
Target = "X"
Else
Target.ClearContents
End If
End If
Cancel = True
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Area As String, inArea As Range, myC As Range
Application.EnableEvents = False
If Target.Address = "$B$17" Then 'Se modifico la cella B17 Cancella il contenuto di C17
Range("C17").ClearContents
End If
If Target.Address = "$G$17" Then 'Se modifico la cella G17 Cancella il contenuto di H17, I17, J17
Range("H17, I17, J17").ClearContents
Application.EnableEvents = True
End If
End Sub
Comincio a pensare che sia il mio PC ad avere qualche strano problema, vorrei provare ad utilizzare il mio programma su un altro PC, ma al momento non posso farlo. Visto che questo ha gli anni di Noè magari domani vado a prenderne uno nuovo e provo a vedere se cambia qualcosa..
La Storia che il tasto DX del mouse sembri morto anche su un foglio nuovo e senza traccia di macro non mi convince...