Pagina 1 di 1

[Risolto] Formattazione maiuscolo

Inviato: martedì 14 ottobre 2014, 18:54
da Elettronica 2.0
Buongiorno
espongo il mio problema,avrei bisogno di sapere come posso formattere delle celle in modo tale che qualsiasi testo io incolli, quest'ultimo venga sempre incollato in maiuscolo indipendentemente dal formato originale ( maiusc o minusco)
in attesa di un riscontro ringrazio anticipatamente per le risposte

Alex

Re: Formattazione maiuscolo

Inviato: martedì 14 ottobre 2014, 20:08
da unlucky83
Secondo me si può fare solo con una macro che legge il contenuto della cella e lo trasforma in maiuscolo.

Re: Formattazione maiuscolo

Inviato: martedì 14 ottobre 2014, 20:38
da Elettronica 2.0
essendo abbastanza profano di questi argomenti,è una cosa semplice ? ci vogliono formule complesse? ho provato a cercare sul forum ma non ho trovato nulla ... se qualcuno mi potesse aiutare ...altrimenti domani a lavoro sono rovinato :S

Re: Formattazione maiuscolo

Inviato: martedì 14 ottobre 2014, 20:48
da unlucky83
Questa cosa che cerchi:
1-deve funzionare su un solo file?
2-deve funzionare su tutti i fogli del file?
3-deve funzionare su un numero limitato di celle o su tutte le celle del foglio?
4-ti va bene se prima incolli il testo in minuscolo o maiuscolo per poi avviare la macro manualmente per sistemare il testo?

La macro per cambiare il testo di una cella è semplicissima, ma la cosa si complica in base alle risposte (il punto 4 soprattutto può dare dei problemi)
Fortunatamente non devi fare tutto da solo, puoi chiedere tutto l'aiuto che ti serve

Re: Formattazione maiuscolo

Inviato: mercoledì 15 ottobre 2014, 2:24
da Elettronica 2.0
ti ringrazio della risposta...allora in breve...lavoro con 1 file 1 solo foglio , incollo testo suddiviso su 2 colonne con un numero di righe che puo variare dalle 20 lle 50 righe...se non si complica troppo la situazione preferirei una cosa automatica ...altrimenti se mi spiegi come fare la macro la lancio manulamente io no problem....grazie ancora

Re: Formattazione maiuscolo

Inviato: mercoledì 15 ottobre 2014, 10:37
da patel
la macro da abbinare ad un pulsante potrebbe essere questa, valida per le colonne A e B fino alla riga 50

Codice: Seleziona tutto

sub maiuscolo
  sh = thiscomponent.sheets(0)
  for r=0 to 50
    for c=0 to 1
      sh.GetCellbyPosition(c,r).string = ucase(sh.GetCellbyPosition(c,r).string)
    next
  next
end sub
se hai difficoltà allega un file di esempio, te lo restituisco con la macro

in automatico avrei una soluzione, ma funziona soltanto copiando una cella alla volta oppure in fase di digitazione

Re: Formattazione maiuscolo

Inviato: mercoledì 15 ottobre 2014, 12:12
da Gaetanopr
patel ha scritto:
in automatico avrei una soluzione, ma funziona soltanto copiando una cella alla volta oppure in fase di digitazione
Anche con più celle

Codice: Seleziona tutto


Sub Main(Target)    
    Dim Dati()
    sh = Target.getSpreadsheet()
    range1 = sh.getCellRangeByName("A1:B50")
    range2 = range1.queryintersection(Target.rangeaddress())
    If range2.RangeAddressesAsString = "" Then  Exit Sub
  
    Dati = Target.getDataArray 
    For y = LBound(Dati) to UBound(Dati)
        Dati2 = Dati(y)
         for x = LBound(Dati2) to UBound(Dati2)
             If IsNumeric(Dati2(x)) = False Then  Dati2(x) = UCase(Dati2(x)) 
         next
    next
   Target.setDataArray(Dati) 

End Sub


Re: Formattazione maiuscolo

Inviato: mercoledì 15 ottobre 2014, 12:55
da patel
Ottimo come sempre Gaetano :bravo:

[Risolto] Formattazione maiuscolo

Inviato: mercoledì 15 ottobre 2014, 14:14
da Elettronica 2.0
Gaetanopr ha scritto:
patel ha scritto:
in automatico avrei una soluzione, ma funziona soltanto copiando una cella alla volta oppure in fase di digitazione
Anche con più celle

Codice: Seleziona tutto


Sub Main(Target)    
    Dim Dati()
    sh = Target.getSpreadsheet()
    range1 = sh.getCellRangeByName("A1:B50")
    range2 = range1.queryintersection(Target.rangeaddress())
    If range2.RangeAddressesAsString = "" Then  Exit Sub
  
    Dati = Target.getDataArray 
    For y = LBound(Dati) to UBound(Dati)
        Dati2 = Dati(y)
         for x = LBound(Dati2) to UBound(Dati2)
             If IsNumeric(Dati2(x)) = False Then  Dati2(x) = UCase(Dati2(x)) 
         next
    next
   Target.setDataArray(Dati) 

End Sub

Gaetanopr anche questa volta mi hai salvato !!! :super: :super: era esattamente di questo che avevo bisogno !!!!! ti ringrazio molto per la tua risposta e sopratutto per il modello gia compilato con la macro :D :D ....voglio anche ringraziare unlucky83 per le sua disponibilita nelle risposte....grazie a tuttiiiii

alla prossima, saluti

Alex