|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: May 2006
Città: Brescia
Messaggi: 1720
|
[Excel - Macro] Dimenticanza Su Ciclo Do-While
Ciao a tutti, Vi ringrazio gia per l'aiuto che mi date sempre :P
Ho necessità di creare una macro di Excel (Per esercizio) che effettui una scansione dei valori presenti in una colonna (Colonna C ) da index = 2 in giu, vorrei che il ciclo alla presenza di un certo valore "Roma Fiumicino" Selezioni l'intera riga e passi alla successiva effettuando il controllo ed in caso selezionandola o meno per passare alla prossima, alla fine vorrei avere tutte le caselle "Roma Fiumicino" Selezionate in modo da poterle incollare in un'altro Foglio di lavoro. L'esercizio se puo essere utile chiede: Nelle celle delle colonne dalla a alla E a partire dalla riga 2 devono essere copiati i dati dei voli presenti nel foglio di lavoro "milano_malpensa" che hanno i valori della colonna "Destinazione" uguale a " Roma Fiumicino" In Poche parole devo copiare dei determinati valori, da un foglio all'altro gli elementi che devo copiare sono contraddistinti dal termine "Roma Fiumicino" nella casella C. Sperando possiate capire qualcosa nella mia confusione grazie Edit Codice che gia ho scritto: Codice:
Sub macroAerei()
Dim MioWork As Workbook
Dim mioFoglio As Worksheet
Dim Nuovo As Worksheet
Dim index As Integer
Dim intestazione As Range
Dim intestazione2 As Range
Dim Miointervallo As Range
Set MioWork = Application.Workbooks("Orari_voli.xls.xlsx")
Set mioFoglio = MioWork.Worksheets("Milano-Malpensa")
index = 1
Set intestazione = mioFoglio.Range("1:1")
intestazione.Select
intestazione.Copy
Sheets.Add
ActiveSheet.Select
ActiveSheet.Name = "Milano-Roma"
Set Nuovo = MioWork.Worksheets("Milano-Roma")
index = 1
Set intestazione2 = Nuovo.Range("1:1")
intestazione2.Select
intestazione2.PasteSpecial clPasteAll
mioFoglio.Select
index = 2
Set Miointervallo = mioFoglio.Range("C2")
Do While Miointervallo.Select
End Sub
Ultima modifica di Holy_Bible : 25-08-2009 alle 12:00. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: May 2006
Città: Brescia
Messaggi: 1720
|
Up
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Una soluzione possibile :
1. Con un semplice ciclo ( For i = 2 To ... ) interroghi la cella C delle righe dalla 2 in poi. Se il valore è quello giusto, il numero riga ( i ) viene aggiunto ad un array... 2. A ciclo finito basta prendere l'array, ciclarlo, e copiare/incollare nel foglio desiderato, una per volta, le righe che hanno indice uguale ai numeri contenuti nell'array stesso... |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:50.




















