
Mi sto cimentando nella creazione di un foglio di calcolo che mi consenta di gestire i miei clienti ed i servizi che per essi svolgo.
In parole povere ho bisogno di copiare dei dati da un foglio all'altro sistemandoli in celle differenti in modo da ottenere una pagina stampabile.
Per fare ciò sto tentando di creare una macro che, partendo dalla cella attiva, legga i dati dal foglio sorgente e li trasferisca sul foglio di stampa.
Non ho avuto problemi fino a quando mi sono cimentato con il comando "do loop"
Devo leggere una tabella composta da n righe e un numero definito di colonne ed ho pensato di sfruttare "do loop" per far leggere le righe della prima colonna fin quando contengono dati, quindi passare alla colonna successiva e ripetere il ciclo per le righe e così via.
Il problema è che lo script termina il primo ciclo, torna alla prima riga, si sposta di una colonna ma non riparte anche se questa contiene testo.
Vi posto lo script così forse è più chiaro.
Ps: Siate clementi, il codice l'ho scopiazzato un po' qua e un po' la e di certo non si può definire "pulito" .... più che altro "arrangiato"

Dim Doc As Object
Dim Sheet As Object
Dim RapportoDiProva As Object
Dim Colonna as Integer
Dim Riga as Integer
Dim RigaRP as Integer
DIM ColonnaRP as integer
Dim n as integer
Doc = StarDesktop.CurrentComponent
Sheet = ThisComponent.CurrentController.ActiveSheet
ActiveCell = ThisComponent.CurrentSelection
Colonna = ActiveCell.CellAddress.Column
Riga = ActiveCell.CellAddress.Row
n = 0 'contatore di cicli
Colonna = Colonna + 1
RigaRP = 22
ColonnaRP = 0
Do
Do While ActiveCell.string <> ""
ActiveCell = Sheet.getCellByPosition(Colonna,Riga)
valore= ActiveCell.string
RapportoDiProva = doc.Sheets(100)
ActiveCell = RapportoDiProva.GetCellByPosition(ColonnaRP,RigaRP)
ActiveCell.String = valore
Riga = Riga + 1
RigaRP = RigaRP + 1
n = n+1
Loop
RigaRP = RigaRP-n
Riga = Riga-n
Colonna = Colonna + 1
ColonnaRP = ColonnaRP+1
Loop Until ActiveCell.string = ""
Scusate la lunghezza.... non sono capace ad inserire il codice in finestre come fate voi

Edit: mancava una parte di codice e l'ho aggiunta. Questo postato è una parte di tutta la macro.