Vuoto di memoria



  • Vuoto di memoria!!!
    di Nic82 data: 04/05/2011


    ciao a tutti,

    non ricordo bene come si possa selezionare un range a seconda delle righe dello usedrange del foglio.
    con la sub sotto voglio contare le righe utilizzate sul foglio, inserire una colonna a fianco della colonna h, inserire nelle celle della nuova colonna la stringa della rispettiva cella della colonna accanto scritto in "tutte minuscole" con la funzione lcase.

    mi da errore sulla selezione del range, dovrei scrivere una cosa del tipo range, qual'è la sintassi corretta? grazie!

    nicola



     
    Sub TuttoMinuscole()
    r = ActiveSheet.UsedRange.Rows.Count
    MsgBox r '4333 righe
    
    Columns("H").Select
        Selection.Insert Shift:=xlToRight
    
    Range("H2", r).Select
    For Each c In Selection
    c.Value = LCase(c.offsett(0, -1).Value)
    Next
    
    End Sub



  • di Locate (utente non iscritto) data: 04/05/2011

    Ciao nicola
    alla tua domanda
    ------------
    mi da errore sulla selezione del range, dovrei scrivere una cosa del tipo range, qual'è la sintassi corretta? grazie
    -----------
    la sintassi e questa
    range("h2:h" & r).select
    pero' ti troverai un altro errore dopo
    io per questo lavoro uso un'altra formula con un ciclo for , vedi la mia seconda la quale non da errore ma converte tutta la colonna h:h in minuscolo

    ciao da locate
    excel 2003

     
    Sub TuttoMinuscole()
    r = ActiveSheet.UsedRange.Rows.Count
    MsgBox r '4333 righe
    
    Columns("H").Select
        Selection.Insert Shift:=xlToRight
    
    Range("H2:H" & r).Select ''selezione su Range()
    For Each c In Selection
    c.Value = LCase(c.offsett(0, -1).Value) ''qui dara' ancora errore
    Next
    End Sub
    
    
    Sub minuscolo()
    Dim i, r
    r = ActiveSheet.UsedRange.Rows.Count
    MsgBox r '4333 righe
      For i = 2 To r
        Cells(i, 8) = LCase(Cells(i, 8))
      Next i
    End Sub