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

    [VBA] creare una macro particolare in Excel

    Ciao a tutti,

    ho bisogno di un aiuto per creare una macro un po' particolare.
    In allegato trovate il file incriminato.

    Cerco di spiegarmi nel modo più semplice possibile:

    ho alcune celle che devono essere replicate un certo numero di volte all'interno del foglio di lavoro. Queste celle vanno da A5 a F15 e devono essere ripetute di seguito tante volte quante ne dice D4.

    Inoltre desidero che i valori da D6 a D13 restino invariati (vengono presi dal foglio di lavoro 2) mentre la colonna E6; E13 vari in base alla posizione.

    Aggiungerei se possibile che la data di ogni raggruppamento avanzi di un giorno per ogni volta che viene copiata.

    Questo dev'essere un foglio che deve risultare semplicissimo da usare all'utente finale che non dovrà fare altro che inserire le tariffe nel foglio 2 una volta, dare il numero di giorni relativi all'evento in oggetto e premere un bottone.

    Mi sapete dare una mano?

    Grazie per l'aiuto!
    Immagini allegate Immagini allegate

  2. #2
    Aggiornamento:

    ok, i valori assoluti li ho inseriti e vanno benissimo, ora devo pensare a far funzionare la macro e a far cambiare la data.

    Ho trovato il modo per farla ripetere ma me la ripete sempre nelle stesse celle in quanto non riesco a capire come funziona l'offset.

    Per adesso so che l'unica cosa che funziona è:


    Sub RipetiD4()
    '
    ' RipetiD4 Macro
    ' Ripete AggiungiGiorno quante volte dice D4
    '

    '
    For I = 1 To Worksheets("Conteggio finale").Range("D4")
    Range("A16").Select
    Application.Run "'Griglia gruppi.xls'!AggiungiGiorno"
    Next I
    End Sub



    Mentre quello che mi dà problemi è questo:

    Sub AggiungiGiorno()
    '
    ' AggiungiGiorno Macro
    '

    '
    Range("A5").Select
    ActiveCell.Range("A1:F11").Select
    Selection.Copy
    ActiveCell.Offset(11, 0).Range("A1").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "=R3C2+1"
    ActiveCell.Offset(11, 0).Range("A1").Activate
    End Sub

    Al momento infatti mi copia tutto quello che voglio per tre volte ma non una di seguito all'altra, bensì sulle stesse celle, di conseguenza è assolutamente inutile.

    Il mio problema è che non riesco a capire dove sbaglio.

  3. #3
    UP!

    Nessuno mi sa proprio aiutare?

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.