Condividi:        

Formato commenti Excel 2010

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Re: Formato commenti Excel 2010

Postdi Flash30005 » 27/09/12 07:16

Mi sembra strano che ti sia successo quello da te descritto
Se hai copiato la macro Formattacommenti nel modulo e richiamato in Thisworkbook
la macro Formattacommenti_ok
all'apertura del file avresti avuto solo l'errore di macro non definita (non trovata) e sarebbe andata in debug fermandosi su nome della macro non trovata "Formattacommenti_ok"
senza fare null'altro ed è impossibile che abbia cancellato i commenti che avevi

Poi, anche se avessi fatto eseguire forzatamente la macro nel modulo
Formattacommenti non avresti ottenuto altro che la formattazione dei commenti perché quella macro non cancella i commenti
L'unica differenza tra le due macro è che quella con finale _Ok permette anche di colorare lo sfondo cambiando il valore 1 dove segnalato

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Sponsor
 

Re: Formato commenti Excel 2010

Postdi gimart » 27/09/12 08:19

Allora, uno dei due problemi si spiega: io avevo installato la macro "Formattacommenti" e non la "Formattacommenti_Ok" (non mi ero accorto di lei) e la seconda macro ha cercato quest'ultima e ovviamente non l'ha trovata. Circa la cancellazione dei commenti, ti assicuro che è avvenuta: il triangolino rosso è rimasto sulle celle ma il commento non veniva visualizzato.
Ora, lasciando installata la "Formattacommenti", ho corretto la seconda macro cancellando l' _Ok finale nel nome e ho riprovato, ma mi va in debug all'avvio (i commenti non vengono cancellati).
gimart
Win 10 and Office 2010
Avatar utente
gimart
Utente Senior
 
Post: 1055
Iscritto il: 21/02/10 12:09

Re: Formato commenti Excel 2010

Postdi gimart » 27/09/12 08:27

Vorrei farti vedere la situazione del VBA ed catturato la schermata in un pdf. Come posso fartelo avere?
gimart
Win 10 and Office 2010
Avatar utente
gimart
Utente Senior
 
Post: 1055
Iscritto il: 21/02/10 12:09

Re: Formato commenti Excel 2010

Postdi gimart » 27/09/12 09:25

gimart
Win 10 and Office 2010
Avatar utente
gimart
Utente Senior
 
Post: 1055
Iscritto il: 21/02/10 12:09

Re: Formato commenti Excel 2010

Postdi Flash30005 » 27/09/12 11:14

I commenti non sono stati cancellati è che "non hanno colore" (il testo è bianco come il fondo)
in RGB hai messo 0,0,0 e non 0,0,255 (che corrisponde al blu) come volevi
mi viene il dubbio che tu invece di copiare le macro postate con l'apposito tasto seleziona del Forum
ti metta a digitare le varie righe di codice
Quindi
1) interrompi la macro,
2) correggi il colore RGB
salva il file con altro nome e inseriscilo in una cartella del disco
chiudi excel
vai sulla cartella dove hai salvato il file e cliccaci due volte

Per sicurezza allego il file contenente le 3 macro
aprilo e fai la tua scelta
Download file

ciao

P.s. La macro che hai inserito non è quella contenuta nel mio file allegato nel post (dove dicevo che potevi modificare anche il fondo)
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Formato commenti Excel 2010

Postdi gimart » 27/09/12 12:15

Eh, vabbè. Forse mi sono buttato un pò troppo a terra.
Qualche risposta alle tue osservazioni:
- in RGB ho cambiato in 0, 0, 0 per avere il colore nero (il blu era un suggerimento di ricky) e me lo da perfettamente
- la macro "Formattacommenti" che sto usando, che poi non mi sembra diversa dalla tua, quando la lancio, funziona perfettamente impostandomi colore nero, font Tahoma 11 e dimensioni del riquadro adatte al testo del commento.
Non va quell'altra che ho immesso in ThisWorkbook, di cui, tra l'altro, confesso non ho capito bene la funzione.
Ma hai visto il pdf con la schermata di VBA che ti ho inviato?
In buona sostanza, l'unica pecca della configurazione attuale è che debbo lanciare io la macro "Formattacommenti".
Prenditela comoda con un'eventuale risposta (che sarà certamente molto gradita) perchè per il resto della giornata non ci sarò.
Grazie e a presto.....spero!
gimart
Win 10 and Office 2010
Avatar utente
gimart
Utente Senior
 
Post: 1055
Iscritto il: 21/02/10 12:09

Re: Formato commenti Excel 2010

Postdi Flash30005 » 27/09/12 13:48

Ho visto il pdf
ma secondo me non devi usare il file Personal.xlsx

ma non mi hai detto se lanciando il mio ultimo file
hai un messaggio (inputbox) nel quale devi inserire 1, 2 o 3
e se funziona (funzionano tutte e 3)
per verificare, allora, inserisci il codice RGB (0,0,0) in Formattacommenti
e lascia RGB(0,0,255) in formattacommenti_ok
poi lanci la macro con il valore 3 nell'Inputbox
troverai tutti i commenti, contenuti in tutti i fogli, con carattere blu

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Formato commenti Excel 2010

Postdi gimart » 28/09/12 06:07

Evviva, finalmente ci sono riuscito!!! :)
Non ho capito molto del tuo ultimo post e, questa mattina, a mente fresca, ho agito così:
ho cancellato dal VBA tutte le macro precedentemente inserite;
ho immesso con "Inserisci -> Modulo" la macro "Formattacommenti_Ok" (però con RGB 0,0,0 ;) );
ho immesso in "ThisWorkBook" la macro "Private Sub Workbook".
Ora tutto funziona perfettamente.
Grazie mille, a te ed a Ricky, per il temppo che mi avete dedicato.
Un cordiale saluto.
gimart
Win 10 and Office 2010
Avatar utente
gimart
Utente Senior
 
Post: 1055
Iscritto il: 21/02/10 12:09

Re: Formato commenti Excel 2010

Postdi Flash30005 » 28/09/12 06:18

Sono contento che sia riuscito nell'intento
Il mio ultimo post si riferiva al file "Download File" del post
del 27/09/12 12:14
Se lo scarichi e lo avvii avrai un messaggio iniziale con possibilità di scelta macro (le 3 macro prodotte)

Ma come dice Ricky nel post pagina precedente
i commenti saranno "uniformati" e adattati solo all'apertura del file e non mentre inserirai i commenti nuovi
per avere la formattazione con il file aperto dovrai inserire il richiamo macro ad ogni attivazione foglio (Vba di ogni foglio)
o, forse meglio, attivare la macro abbinando un tasto "scelta rapida"
(tipo Ctrl+m), vedi tra le opzioni macro

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Formato commenti Excel 2010

Postdi gimart » 28/09/12 07:18

No, no, preferisco lasciare com'è adesso. Alla riaperturra del file trovo i commenti modificati e mi sta bene. Non voglio creare altri casini.
gimart
Win 10 and Office 2010
Avatar utente
gimart
Utente Senior
 
Post: 1055
Iscritto il: 21/02/10 12:09

Re: Formato commenti Excel 2010

Postdi ricky53 » 28/09/12 22:50

Ciao,
non si fa nessun "CASINO" e non occorre fare nulla se non inserire, In "ThisWorkbook", il codice seguente

Codice: Seleziona tutto
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
' Viene esguito ad ogni attivazione di un foglio
    Sistema_Commenti
End Sub

Cosa che avevo già scritto nel mio intervento del 24/09/12 ore 16:49

Se preferisci al posto della mia macro "Sistema_Commenti"
puoi inserire
la macro che utilizzi adesso (quella di Flash) "Formattacommenti_Ok""
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-19-21
Avatar utente
ricky53
Utente Senior
 
Post: 4588
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Formato commenti Excel 2010

Postdi Anthony47 » 30/09/12 01:19

Premesso che molte impostazioni Excel le eredita da Windows e che la letteratura comune dichiara che il formato del "commento" corrisponde alla voce Tooltip /Descrizione comando all' interno delle impostazioni dello schermo (dal desktop, tasto dx; poi dipende dal S.O.).
Premesso anche che io in realta' vedo che il font non cambia secondo questa impostazione (cambia Dimensione, Bold , Italic, Color) e che questa impostazione modifica solo i commenti che verranno successivamente scritti.

Cio' detto1, ritengo quindi che le macro sviluppate per modificare in momenti noti la formattazione dei commenti inseriti siano una buona soluzione (compreso l' ultimo suggerimento di Ricky, vedi sopra), piu' completa che non modificare le impostazioni di Windows.

Cio' detto2, a scopo puramente didattico ho sviluppato questa macro per inserire un commento in un formato preimpostato (nella macro):
Codice: Seleziona tutto
Sub Set_commenti()
' vedi http://www.pc-facile.com/forum/viewtopic.php?f=26&t=93670
Dim Autore As String, ACapo As String, myComm As String
Dim I As Long, J As Long, MaxCr As Long
'
Autore = "Anthony:" '<< Sara' aggiunto in bold in testa al commento
ACapo = "|"         '<< Questo carattere verra' trasformato in "A capo"
MaxCr = 20          '<< Caratteri max per riga di commento
'
On Error GoTo NoComm
aaa = ActiveCell.Comment.Text
    MsgBox ("Esiste gia' un commento; cancellarlo prima di inserirne un altro")
    Exit Sub
'
NoComm:
On Error GoTo 0
myComm = InputBox("Input commento; usare " & ACapo & " per impostare un " & """A capo""")
If myComm = "" Then Exit Sub
'
If ACapo <> "" Then myComm = Replace(myComm, ACapo, Chr(10))

For I = 1 To Len(myComm)
aaa = Mid(myComm, I, 1)
    If Mid(myComm, I, 1) = " " Then
        J = J + 1
        If J >= MaxCr Then
            myComm = Left(myComm, I) & Chr(10) & Mid(myComm, I + 1, 9999)
            J = 0
        End If
    Else
    If Mid(myComm, I, 1) = Chr(10) Then J = 0 Else J = J + 1
    End If
Next I
If Autore <> "" Then myComm = Autore & Chr(10) & myComm
With ActiveCell
    .AddComment
    .Comment.Visible = False
    .Comment.Text Text:=myComm
End With
'
ActiveCell.Comment.Shape.TextFrame.AutoSize = True
With ActiveCell.Comment.Shape.TextFrame
    .Characters.Font.Name = "Tahoma"
    .Characters.Font.Size = 11
    .Characters.Font.Bold = False
    .Characters.Font.Italic = False
    .Characters.Font.Color = RGB(0, 0, 0)
    If Len(Autore) > 0 Then .Characters(1, Len(Autore)).Font.Bold = True
End With
End Sub

Ho assegnato alla macro un tasto di scelta rapida (ho usato Contr-Maiusc-M), quando voglio inserire un commento premo questa sequenza e posso inserire il testo del commento in un inputbox; le righe marcate << contengono alcune informazioni per la gestione del testo. So che l' inputbox e' un meccanismo molto grezzo, si potrebbe quindi usare un activeX "casella di testo" normalmente nascosto, oppure la casella di testo su una userform completa di altri comandi utili per la formattazione; ma lascio questa eventuale evoluzione nell' ipotesi che emerga un irrefrenabile bisogno di queste prestazioni...

Ciao a tutti.
Avatar utente
Anthony47
Moderatore
 
Post: 19439
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Formato commenti Excel 2010

Postdi gimart » 04/10/12 08:58

Complimenti Anthony, è davvero interessante questa macro.
Una sola cosa: si potrebbe aggiungere un'istruzione per definire il colore dello sfondo del commento?
Grazie
gimart
Win 10 and Office 2010
Avatar utente
gimart
Utente Senior
 
Post: 1055
Iscritto il: 21/02/10 12:09

Re: Formato commenti Excel 2010

Postdi Anthony47 » 04/10/12 14:49

Per questo devi modificare la parte finale della macro, che formatta il commento; ad esempio:
Codice: Seleziona tutto
ActiveCell.Comment.Shape.TextFrame.AutoSize = True  'Esistente
'da qui in avanti parzialmente modificato
With ActiveCell.Comment
    With .Shape.TextFrame
        .Characters.Font.Name = "Tahoma"
        .Characters.Font.Size = 11
        .Characters.Font.Bold = False
        .Characters.Font.Italic = False
        .Characters.Font.Color = RGB(0, 0, 0)
        If Len(Autore) > 0 Then .Characters(1, Len(Autore)).Font.Bold = True
    End With
    With .Shape.Fill    '.ShapeRange.Fill '.Visible = msoTrue
        .ForeColor.RGB = RGB(200, 200, 200)      '<< Il colore che preferisci
    End With
End With
End Sub

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19439
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Formato commenti Excel 2010

Postdi scossa » 04/10/12 15:52

ricky53 ha scritto:Ciao,
eccomi di nuovo qui.

Codice: Seleziona tutto
Sub Sistema_Commenti()
    Dim Intervallo As Range, Cl As Range
    On Error Resume Next
    Set Intervallo = Range("A1:Z100")
    Application.EnableEvents = False
    For Each Cl In Intervallo
        If Cl.Comment.Text <> "" Then
            With Cl.Comment.Shape.TextFrame.Characters.Font
                .Name = "Tahoma"
                .Size = 11
                .Bold = False
                .Italic = False
                .Color = RGB(0, 0, 255) ' Ho scelto il colore BLU per distinguere i commenti già trattati da quelli non trattati
            End With
        End If
    Next Cl
    Application.EnableEvents = True
End Sub


Non ho seguito tutto il thread, ma vorrei solo ricordare che, se la formattazione rigurada tutti i commenti di un foglio, si può usare il metodo SpecialCells, per cui il codice si può semplificare e velocizzare notevolmente (si evita il ciclo for each e quindi di ciclare ogni cella del range):

Codice: Seleziona tutto
'---------------------------------------------------------------------------------------
' Procedure : Sistema_Commenti
' Author    : scossa
' Date      : 04/10/2012
' Purpose   : formatta i commenti di un foglio
'---------------------------------------------------------------------------------------
'
Sub Sistema_Commenti(Optional ByRef ws As Worksheet)
    Dim Intervallo As Range
   
    If ws Is Nothing Then Set ws = ActiveSheet
    On Error GoTo sub_fail_
    Set Intervallo = ws.Cells.SpecialCells(xlCellTypeComments)
    With Intervallo.Comment.Shape.TextFrame.Characters.Font
      .Name = "Tahoma"
      .Size = 11
      .Bold = False
      .Italic = False
      .Color = RGB(0, 0, 255)
     End With
     Set Intervallo = Nothing
sub_fail_:
  If Err.Number <> 0 Then
    MsgBox Err.Description, vbCritical
  Else
    MsgBox "Fatto", vbInformation
  End If
 
End Sub
Bye!
scossa

Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)
Avatar utente
scossa
Utente Senior
 
Post: 427
Iscritto il: 01/04/12 16:40
Località: Provincia di Verona

Re: Formato commenti Excel 2010

Postdi gimart » 04/10/12 16:00

Anthony47 ha scritto:Per questo devi modificare la parte finale della macro, che formatta il commento; ad esempio:
Codice: Seleziona tutto
ActiveCell.Comment.Shape.TextFrame.AutoSize = True  'Esistente
'da qui in avanti parzialmente modificato
With ActiveCell.Comment
    With .Shape.TextFrame
        .Characters.Font.Name = "Tahoma"
        .Characters.Font.Size = 11
        .Characters.Font.Bold = False
        .Characters.Font.Italic = False
        .Characters.Font.Color = RGB(0, 0, 0)
        If Len(Autore) > 0 Then .Characters(1, Len(Autore)).Font.Bold = True
    End With
    With .Shape.Fill    '.ShapeRange.Fill '.Visible = msoTrue
        .ForeColor.RGB = RGB(200, 200, 200)      '<< Il colore che preferisci
    End With
End With
End Sub

Ciao


Ciao Anthony. La macro modificata mi da un errore e non funziona. Ti dispiacerebbe riscrivermela completa dall'inizio e ridotta all'essenziale, priva cioè di commenti e di tutto quanto non serve per la sua azione? Grazie mille e scusami.
gimart
Win 10 and Office 2010
Avatar utente
gimart
Utente Senior
 
Post: 1055
Iscritto il: 21/02/10 12:09

Re: Formato commenti Excel 2010

Postdi scossa » 04/10/12 17:21

[quote="scossa"
.... se la formattazione rigurada tutti i commenti di un foglio(*)[/quote]

(*): o, ovviamente, di un range di celle.
Bye!
scossa

Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)
Avatar utente
scossa
Utente Senior
 
Post: 427
Iscritto il: 01/04/12 16:40
Località: Provincia di Verona

Re: Formato commenti Excel 2010

Postdi Anthony47 » 04/10/12 23:58

Ti dispiacerebbe riscrivermela completa dall'inizio e ridotta all'essenziale, priva cioè di commenti e di tutto quanto non serve per la sua azione?
No, mi rifiuto!
Prendi la macro precedente (Sub Set_commenti, vedi viewtopic.php?f=26&t=97016&p=557327#p557327); accertati che funziona; prendi il codice fornito nel messaggio di oggi pomeriggio (viewtopic.php?f=26&t=97016&p=557327#p557319) e sostituisci questo codice a quello precedente, partendo dalla riga ActiveCell.Comment.Shape.TextFrame.AutoSize = True (che e' il punto di collegamento tra la vecchia macro e la nuova) fino alla fine (End Sub).
Dovrebbe essere una mission piu' che possible.

Guarda anche i messaggi di scossa (vedi sopra), che offrono una valida alternativa a tutte le macro di cui abbiamo detto nella discussione.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19439
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Formato commenti Excel 2010

Postdi gimart » 05/10/12 05:42

Anthony47 ha scritto:
Ti dispiacerebbe riscrivermela completa dall'inizio e ridotta all'essenziale, priva cioè di commenti e di tutto quanto non serve per la sua azione?
No, mi rifiuto!


Ok, ok, non ti arrabbiare. Avevi ragione, con un pò di attenzione sono riuscito a mettere insieme le due cose ed ora la macro funziona bene.
GRAZIEEEEE!
gimart
Win 10 and Office 2010
Avatar utente
gimart
Utente Senior
 
Post: 1055
Iscritto il: 21/02/10 12:09

Re: Formato commenti Excel 2010

Postdi scossa » 05/10/12 10:01

scossa ha scritto:Non ho seguito tutto il thread, ma vorrei solo ricordare che, se la formattazione rigurada tutti i commenti di un foglio, si può usare il metodo SpecialCells, per cui il codice si può semplificare e velocizzare notevolmente (si evita il ciclo for each e quindi di ciclare ogni cella del range):


Errata-Corrige
Questo il codice corretto e modificato per accettare anche un range limitato di celle:

Codice: Seleziona tutto
'---------------------------------------------------------------------------------------
' Procedure : Sistema_Commenti
' Author    : scossa
' Date      : 04/10/2012
' Purpose   : formatta i commenti di un foglio
'---------------------------------------------------------------------------------------
'
Sub Sistema_Commenti(Optional ByVal rRng As Range)
    Dim Intervallo As Range
    Dim area As Range
   
    If rRng Is Nothing Then Set rRng = ActiveSheet.Cells
    On Error GoTo sub_fail_
    Set Intervallo = rRng.SpecialCells(xlCellTypeComments)
    For Each area In Intervallo
      With area.Comment.Shape.TextFrame.Characters.Font
        .Name = "Tahoma"
        .Size = 11
        .Bold = False
        .Italic = False
        .Color = RGB(0, 0, 255) ' Ho scelto il colore BLU per distinguere i commenti già trattati da quelli non trattati
      End With
    Next
sub_fail_:
  If Err.Number <> 0 Then
    MsgBox Err.Description, vbCritical
  Else
    MsgBox "Fatto", vbInformation
  End If
 
  Set Intervallo = Nothing
  Set rRng = Nothing

End Sub


Un esempio di chiamata:
Codice: Seleziona tutto
Sub prova()
  Dim rRC As Range
 
  Set rRC = ActiveSheet.Range("A5:N200")
  Call Sistema_Commenti(rRC)
  ' altro codice
 Set rRc = Nothing
End Sub
Bye!
scossa

Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)
Avatar utente
scossa
Utente Senior
 
Post: 427
Iscritto il: 01/04/12 16:40
Località: Provincia di Verona

PrecedenteProssimo

Torna a Applicazioni Office Windows


Topic correlati a "Formato commenti Excel 2010":


Chi c’è in linea

Visitano il forum: Nessuno e 4 ospiti