Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    111

    [Excel VBA]navigazione range di celle

    Buongiorno,
    devo scrivere una funzione che riceve in input 2 range di celle da usare uno come sorgente dei
    dati da elaborare e l'altro come destinazione per i dati elaborati.
    Tipo : Function nomefunzione(sorgente as Range,destinazione as Range)

    Navigo il primo dei due con un ciclo for..each ma dovrei navigare anche il secondo cella per cella..
    come posso navigare entrambi i range una cella alla volta contemporaneamente?

    Grazie per ogni eventuale suggerimento...

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Prova a fare un esempio pratico di ciò che ti occorre.
    Sei proprio sicuro che sia indispensabile definire a priori il range di celle della destinazione e che non basti specificare la cella a partire dalla quale inserire i dati?

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    111
    Grazie per l'interessamento...
    probabilmente sì mi basterebbe anche far ricevere alla funzione l'indirizzo della cella da cui partire, io, che sono alle primissime armi, avevo pensato ad un oggetto range in quanto immaginavo che da esso avrei potuto estrapolare indicazioni varie come cella inizio range,cella finale, dimensione,etc.

    Usando solo l'indirizzo della cella da cui partire come "navigherei" il foglio ? usando il metodo offset ?
    Mica potresti gentilmente fornirmi un esempio per leggere via via un elenco di celle(in colonna),svolgere un'operazione matematica su ogni singola cella e scrivere il risultato su un'analoga cella in un'altra colonna in modo da ricostituire la versione "rielaborata" del range di partenza?

    Grazie mille....

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    112
    anch'io sono poco pratico, cmq l'esempio seguente (se è corretto) scorre le celle dalla riga 1 a 10 dellla prima colonna e riporta nelle celle adiacenti (seconda colonna, stessa riga) il valore della prima colonna maggiorato di 2

    codice:
    Sub prova() 
    
    Dim i As Integer 
    Dim k As Variant  
    For i = 1 To 10 
     k = Cells(i, 1).Value  
    Cells(i, 1).Select  
    ActiveCell.Offset(0, 1).Value = 2 + k  
    Next i    
     End Sub
    e adesso studiatela..... :quote:

    arevuà

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Ti scrivo un esempio banale. Ho messo in un foglio di excel questi valori
    codice:
         a     b      c
    1   1     2      3
    2   4     5      6
    e voglio che a partire da 5 righe più in basso venga visualizzato ciascun valore moltiplicato per 2 (dopo aver ovviamente selezionato l'intervallo delle 6 celle).

    codice:
    Sub intervallo()
    For Each cella In Selection.Cells
    ActiveSheet.Cells(cella.Row + 5, cella.Column) = cella.Value * 2
    Next cella
    End Sub
    edit. Arrivo tardi, scusate.

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    111
    Grazie mille ad entrambi...

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.