Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    macro registrata vs codice scritto a mano

    Ciao a tutti
    Devo selezionare alcune righe di una tabella su cui lavoro.
    Le righe non sono contigue, dunque voglio fare programmando quello che a mano si otterrebbe selezionando una riga e facendo poi ctrl e selezionandone un'altra.
    Se lo faccio registrando la macro mi viene fuori questo codice, ad esempio selezionando 2 e poi 9:

    Sub seleziona()

    ' Macro recorded


    Range("2:2,9:9").Select
    Range("A9").Activate

    End Sub



    Cosi mi seleziona la 2 e la 9 appunto, isolatamente.

    Se pero' cerco di farlo con delle variabili mi seleziona tutto il range, ossia dalla 2 alla 9, ...

    facendo debug del codice al posto di i vedo proprio i valori soprascritti (2 e 9), dunque sembrerebbe uguale al codice registrato, eppure non funziona. Ecco il codice scritto a mano:

    Sub seleziona()

    Dim i As Integer


    i = 2


    Range(i & ":" & i, i + 7 & ":" & i + 7).Select
    Range("A9").Activate


    End Sub

    qualche idea sul perchè i risultati siano diversi?
    grazie mille!

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    I risultati sono diversi perche' l'istruzione corretta e' questa

    Range(i & ":" & i & "," & i + 7 & ":" & i + 7).Select
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    grazie mille!

    un amico mi aveva suggerito anche questa con cui avevo risolto

    Range(CStr(i) & ":" & CStr(i) & "," & CStr(i + 7) & ":" & CStr(i + 7)).Select

    evidentemente la variabile i la prende già come stringa anche senza trasformarla....


    grazie mille

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.