Attivazione Funzione Incolla
Hai un problema con Excel? 
Attivazione Funzione Incolla
di Giovanni (utente non iscritto) data: 22/07/2013 15:54:17
ciao a tutti
premetto che il foglio non è protetto da password.
situazione1= nessuna macro e il copia/incolla attivo
situazione2= attivo macro (vedi codice VBA) e la funzione copia/incolla mi viene disabilitata automaticamente.
Purtroppo per me, nella sitazione2 la funzione copia/incolla è fondamentale e non riesco a riattivarla (ovviamente con macro attiva!)
sapreste risolvere il problema?
grazie mille!
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim cell As Object
For Each cell In Range("A1:A20")
If cell.Value = "A" Then
cell.Font.ColorIndex = 1
ElseIf cell.Value = "" Then
cell.Font.ColorIndex = 3
ElseIf cell.Value <> "A" Then
MsgBox "paramentro non definito"
ElseIf cell.Value <> "" Then
MsgBox "paramentro non definito"
End If
Next
End Sub |
di mabolsie data: 22/07/2013 20:21:03
Ciao Giovanni
con "Private Sub Worksheet_SelectionChange(ByVal Target As Range)" la macro è sempre attiva, infatti ogni volta che cambi cella la macro si ripete in automatico inibendoti i comandi manuali.
per ovviare al problema dovresti assegnare alla macro un pulsante di lancio " commandbutton_click" così da decidere tu quando lanciarla, in questo modo i comandi manuali restano attivi .
Ciao Max
di giovanni (utente non iscritto) data: 22/07/2013 23:27:49
Grazie per la risposta Max!
Purtroppo a me serve la macro sempre attiva in quanto la correzione deve essere immediata... a questo problema però, ho bisogno anche della funzine copia/incolla.
Esiste un codice in grado di forzare la funzione copia/incolla con il comando "Private Sub Worksheet_SelectionChange(ByVal Target As Range)" attivo?
Cmq sono riuscito ad ovviare in parte al problema...ma non è del tutto soddisfacente in quanto il copia/incolla è una funzione usta spesso... i passaggi sono i seguenti:
1) mi posiziono sul foglio e cella dove dovrò poi incollare
2) riduco a icona
3) apro il secondo file dove dovrò copiare il contenuto, quindi: seleziono e copio
4) ridimensiono il 1° file precedentemente ridotto a icona, e senza spostare il cursore, tasto destro e poi incolla
Grazie Grazie Grazie
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim cell As Object
For Each cell In Range("A1:A20")
If cell.Value = "A" Then
cell.Font.ColorIndex = 1
ElseIf cell.Value = "" Then
cell.Font.ColorIndex = 1
ElseIf cell.Value <> "A" Then
cell.Font.ColorIndex = 3
MsgBox " !!! BLOCCO !!!" & vbCrLf & "" & vbCrLf & "Eliminare gli eventuali errori", vbCritical, "Error Message"
ElseIf cell.Value <> "" Then
cell.Font.ColorIndex = 3
MsgBox " !!! BLOCCO !!!" & vbCrLf & "" & vbCrLf & "Eliminare gli eventuali errori", vbCritical, "Error Message"
End If
Next
End Sub
|
di giovanni (utente non iscritto) data: 23/07/2013 14:23:09
ho risolto sostituendo:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
(si attiva ogni volta che ci si sposta tra le celle)
con
Private Sub Worksheet_Change(ByVal Target As Range)
(si attiva ogni volta che cambi un valore delle celle)
Grazie a tutti e spero che questa discussione possa servire a qualcuno!
di mabolsie data: 24/07/2013 18:28:27
Bravo !!!
Ciao Max
Vuoi Approfondire?