ridimensionamento automatico misura carattere
Hai un problema con Excel? 
ridimensionamento automatico misura carattere
di marxitpa (utente non iscritto) data: 05/12/2013 04:46:19
In celle AR1:AR30, di larghezza fissa (non deve essere modificata), potrebbe accadere che il testo "fuoriesca" da qualche cella.
C'è l'esigenza di un ridimensionamento automatico della misura del carattere senza però ricorrere al 'controllo testo - riduci e adatta'.
In internet ho trovato il seguente codice che riduce la dimensione del font ma ... purtroppo con questi problemi:
* ovviamente riduce solo la cella indicata. Come fare, con un ciclo, per ridurre solo le celle il cui testo fuoriesce?
* il ciclo non si interrompe. Premo Esc e mi evidenzia 'End If'
* modifica la dimensione della colonna
Sub Adatta()
Dim nWidth As Single
Dim nHeigth As Single
Const nMin As Single = 7 'dimensione minima scelta
With Foglio1.Range("AR11")
nWidth = .ColumnWidth
.Columns.AutoFit
Do While .ColumnWidth > nWidth
If .ColumnWidth <= nWidth Then
.ColumnWidth = nWidth
Else
.Font.Size = Application.WorksheetFunction.Max(nMin, .Font.Size - 0.25)
.Columns.AutoFit
End If
Loop
.ColumnWidth = nWidth
End With
End Sub |
di patel data: 05/12/2013 07:55:53
a me sembra che il tuo codice funzioni, basta inserirlo in un loop, solo che richiede molto tempo
Sub Adatta1()
Dim nWidth As Single, nHeigth As Single, cell As Range
Const nMin As Single = 7 'dimensione minima scelta
For Each cell In Range("AR1:AR30")
With cell
nWidth = .ColumnWidth
.Columns.AutoFit
Do While .ColumnWidth > nWidth
If .ColumnWidth <= nWidth Then
.ColumnWidth = nWidth
Else
.Font.Size = Application.WorksheetFunction.Max(nMin, .Font.Size - 0.25)
.Columns.AutoFit
End If
Loop
.ColumnWidth = nWidth
End With
Next
End Sub
|
di patel data: 05/12/2013 08:14:43
se aumenti lo 0.25 a 1 sarà più veloce
di marxitpa data: 06/12/2013 09:38:22
grazie!
Vuoi Approfondire?