› Sviluppare funzionalita su Microsoft Office con VBA › Funzione Tasto Refresh
-
AutoreArticoli
-
buon giorno a tutti;
avrei bisogno del vostro prezioso aiuto.
allego il file, cerco di spiegare cosa mi occorre;
nel foglio Gantt Progetto
ho 2 CommandBotton
il Primo CommandBotton (Refresh Attività Inizio diagramma)
il secondo CommandBotton (Refresh Attività Fine diagramma)
nel secondo CommandBotton ho il seguente codice VBA
Sub testo()
Application.ScreenUpdating = False
ur = Cells(Rows.Count, 1).End(xlUp).Row
For i = 10 To ur 'il N° 10 corrisponde la riga
For j = 2000 To 56 Step -1 'il N° 56 corrisponde al N° di colonne da cui iniziare a scrivere le descrizioni
If Cells(i, j).DisplayFormat.Interior.Color <> 16777215 Then
Cells(i, j + 1) = Cells(i, 4).Value 'il N° 4 corrisponde alla colonna da cui prendere le descrizioni e trascriverle.
Exit For
End If
Next j
Next i
Application.ScreenUpdating = True
End Subquesto codice mi permette di copiare il contenuto presente nella colonna D e trascriverlo a fine del Diagramma;
ora quello che mi serve è capire come posso modificare il codice per avere le scritte della colonna D a inizio diagramma. (codice che dovrò poi attivare con CommandBotton "Refresh Attività Inizio diagramma")
comunque il risultato deve essere quello dalla riga 22 in poi;
qualcuno di voi può esser così gentili che mi aiuta a capire cosa sbaglio, o come modificare il codice ?
ringrazio per l'aiuto
Allegati:
You must be logged in to view attached files.Rinnova la mia richiesta di aiuto.
Lo chiedo gentilmente se qualcuno può aiutarmi a risolvere quanto espletato nel messaggio precedente.
Mi servirebbe per completare entro domani sera un cronoprogramma. E mandarlo in modo corretto.
Grazie per l'eventuale aiuto
Azzo, mi hai appena fatto saltare l'intera mia risposta con il tuo post
e per dispetto riporto solo la macro modificata e non te la commento nemmeno.Sub testo_sx() Application.ScreenUpdating = False ur = Cells(Rows.Count, 1).End(xlUp).Row For i = 10 To ur 'il N° 10 corrisponde la riga For j = 57 To 2000 'il N° 57 corrisponde al N° di colonna da cui iniziare a scrivere le descrizioni Cells(i, j).Select If Cells(i, j).DisplayFormat.Interior.Color <> 16777215 Then Cells(i, j - 1) = Cells(i, 4).Value 'il N° 4 corrisponde alla colonna da cui prendere le descrizioni e trascriverle. Cells(i, j - 1).HorizontalAlignment = xlRight 'allinea a sinistra il testo Exit For End If Next j Next i Application.ScreenUpdating = True End SubCiao Rollis
Ti ringrazio per il tuo contributo.
Domani la provo e ti do riscontro e il feedback.
Ancora grazie
Bene, grazie del riscontro positivo, però non hai tenuto conto che se non ci sono almeno un paio di settimane vuote prima nel calendario del crono programma il testo a sinistra va a finire dove non si vuole. Suggerisco di inserire nel ciclo un controllo che se il crono programma non inizia almeno 21 cella oltre la colonna 57 è il caso di utilizzare il metodo precedente, ovvero, con il testo a destra.
Ciao Rollis
Grazie del suggerimento.
Con il testo a sx ho inserito i giorni lavorativi e ho lasciato il testo delle attività a Dx. Perché ho avuto lo stesso problema che hai sollevato te e quindi le attività le ho lasciate a Dx e a sx ho messo la durata dell'attività.
Cmq volevo chiederti anche. Esiste un modo per creare dei collegamenti delle attività?
Se dai seguito alla discussione cerco di spiegarmi meglio sul quesito appena posto
-
AutoreArticoli
