ridimensionamento automatico misura carattere



  • 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!