Previous page | 1 | Next page
Vote | Print | Email Notification    
Author

Problemi di passaggio dei file dalla versione 2003 alla 2007

Last Update: 6/22/2024 12:54 PM
Post: 74
Registered in: 7/8/2017
Location: SUSEGANA
Age: 62
Junior User
2007
OFFLINE
6/20/2024 3:02 PM
 
Modify
 
Delete
 
Quote

Salve a tutti, sono ancora alle prese con i problemi di passaggio dei file dalla versione 2003 alla 2007. Alcune cose sono riuscito a risolverle questa che vi espongo non riesco proprio…
Nel file che allego, nel foglio Ordinativi, quando si seleziona una cella della colonna C si deve colorare di giallo la cella a sx in colonna B, invece ma mi da errore. Chiedo aiuto…
Post: 1,409
Registered in: 8/16/2015
Location: CORDENONS
Age: 67
Veteran User
Excel 2016-32bit Win11
OFFLINE
6/21/2024 12:29 AM
 
Modify
 
Delete
 
Quote

Andando ad intuito, dato che non indichi che tipo di errore ti viene segnalato e dove, ad un primo sguardo veloce, non conoscendo l'intero tuo progetto (e a prescidere dal fatto che il foglio è protetto), presumo che l'errore capiti in questa macro:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Selection.Count = 1 And Selection.Column = 3 Then
        sel.Offset(0, -1).Interior.ColorIndex = xlNone
        Set sel = Selection
        sel.Offset(0, -1).Interior.ColorIndex = 6
    Else
        sel.Offset(0, -1).Interior.ColorIndex = xlNone
    End If
End Sub
che però secondo me non è dovuto al passaggio da Excel 2K3 a 2K7 bensì ad un errore strutturale della macro. Aggiungendo un controllo per la colonna A ti eviterà l'errore:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Selection.Count = 1 And Selection.Column = 3 Then
        sel.Offset(0, -1).Interior.ColorIndex = xlNone
        Set sel = Selection
        sel.Offset(0, -1).Interior.ColorIndex = 6
    ElseIf Selection.Column <> 1 Then                '<- evita l'errore qualora si clicchi nella colonna A
        sel.Offset(0, -1).Interior.ColorIndex = xlNone
    End If
End Sub
[Edited by rollis13 6/21/2024 12:48 AM]

______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
Post: 74
Registered in: 7/8/2017
Location: SUSEGANA
Age: 62
Junior User
2007
OFFLINE
6/21/2024 7:19 AM
 
Modify
 
Delete
 
Quote

Re:
rollis13, 21/06/2024 00:29:

Andando ad intuito, dato che non indichi che tipo di errore ti viene segnalato e dove, ad un primo sguardo veloce, non conoscendo l'intero tuo progetto (e a prescidere dal fatto che il foglio è protetto), presumo che l'errore capiti in questa macro:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Selection.Count = 1 And Selection.Column = 3 Then
        sel.Offset(0, -1).Interior.ColorIndex = xlNone
        Set sel = Selection
        sel.Offset(0, -1).Interior.ColorIndex = 6
    Else
        sel.Offset(0, -1).Interior.ColorIndex = xlNone
    End If
End Sub
che però secondo me non è dovuto al passaggio da Excel 2K3 a 2K7 bensì ad un errore strutturale della macro. Aggiungendo un controllo per la colonna A ti eviterà l'errore:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Selection.Count = 1 And Selection.Column = 3 Then
        sel.Offset(0, -1).Interior.ColorIndex = xlNone
        Set sel = Selection
        sel.Offset(0, -1).Interior.ColorIndex = 6
    ElseIf Selection.Column <> 1 Then                '<- evita l'errore qualora si clicchi nella colonna A
        sel.Offset(0, -1).Interior.ColorIndex = xlNone
    End If
End Sub





Ciao Rollis13, non funziona...
Ho messo le stesse istruzioni in un foglio pulito, che allego, e non da problemi...
In alternativa c'è un altro codice o altro che potrebbe sostituire questo che non funzione sul primofile che ti ho mandato?
Post: 3,429
Registered in: 10/10/2013
Location: VICENZA
Age: 69
Master User
365
OFFLINE
6/21/2024 12:51 PM
 
Modify
 
Delete
 
Quote

ciao
non capisco sembra nona accettare la formattazione
perchè se scrivi
sel.Offset(0, -1) = 6
funziona
Post: 1,410
Registered in: 8/16/2015
Location: CORDENONS
Age: 67
Veteran User
Excel 2016-32bit Win11
OFFLINE
6/21/2024 11:51 PM
 
Modify
 
Delete
 
Quote

Alla base di tutto a me sembra che di tanto in tanto la variabile sel (dichiarata Public) si perda per strada mandando in tilt la macro. Infatti, basta valorizzare nuovamente la variabile (dalla finestra Immediata) e tutto riprende a funzionare.

______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
Post: 75
Registered in: 7/8/2017
Location: SUSEGANA
Age: 62
Junior User
2007
OFFLINE
6/22/2024 6:25 AM
 
Modify
 
Delete
 
Quote

Re:
rollis13, 21/06/2024 23:51:

Alla base di tutto a me sembra che di tanto in tanto la variabile sel (dichiarata Public) si perda per strada mandando in tilt la macro. Infatti, basta valorizzare nuovamente la variabile (dalla finestra Immediata) e tutto riprende a funzionare.




Ciao Rollis13, in pratica come dovrei fare? Non sono esperto dei termini che mi hai descritto. Per conto mio ho provato con il 2007 a convertire il file da .xlsm in .xls e le cose funzionano, anche se c'è l'avviso di "Perdita di Funzionalità'
Post: 1,411
Registered in: 8/16/2015
Location: CORDENONS
Age: 67
Veteran User
Excel 2016-32bit Win11
OFFLINE
6/22/2024 9:10 AM
 
Modify
 
Delete
 
Quote

Per non perderci la testa, dato che sono tutti file 2K3, quello che ti viene segnalato "Perdita di Funzionalità" non ha alcuna valenza; non credo che tu abbia voglia di rivedere tutti i tuoi vecchi progetti per incorporare nuove funzioni create con le versioni dal 2K7 e successivi.
Se salvando in formato .XLS ti funziona mantienilo così.

______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
Post: 76
Registered in: 7/8/2017
Location: SUSEGANA
Age: 62
Junior User
2007
OFFLINE
6/22/2024 12:53 PM
 
Modify
 
Delete
 
Quote

Forse mi sto avvicinando alla soluzione…
Ho scritto questa istruzione e sembra funzioni: selezionando celle in colonna C si colorano. Però si deve colorare la cella a sx di quella attiva, so che ci vuole “Offset()” ma non so come scriverlo…

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Selection.Count = 1 And Selection.Column = 3 Then
Cells.Interior.ColorIndex = xlNone
ActiveCell.Interior.ColorIndex = 6

End If
End Sub
[Edited by De Martin.PAOLO 6/22/2024 12:54 PM]
Vote:
Admin Thread: | Close | Move | Delete | Modify | Email Notification Previous page | 1 | Next page
New Thread
 | 
Reply
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Users | Search | Log In | Register | Admin
Tutti gli orari sono GMT+01:00. Adesso sono le 10:39 PM. : Printable | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com