Risultati da 1 a 14 di 14

Discussione: Copiare una casella n. volte in orizzontale e verticale



  1. #1
    L'avatar di Sergio8903
    Clicca e Apri
    Data Registrazione
    Nov 2015
    Località
    Siena
    Messaggi
    10
    Versione Office
    Excel 2013
    Likes ricevuti
    0
    Likes dati
    8

    Copiare una casella n. volte in orizzontale e verticale

    Ciao a tutti come da titolo, sto cercando di creare una macro che mi prenda una casella formata da 2 celle, con bordo spesso nero e me la copi n. volte quante c'è scritto nella cella nel mio caso (A3) in verticale e poi selezioni tutto e copi tutto n. volte quanto c'è scritto nella cella(C3) in orizzontale in modo tale da creare una tabella molto semplice.

    Spero di essermi spiegato bene

  2. #2

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4016
    Versione Office
    2013
    Likes ricevuti
    1225
    Likes dati
    923
    Ciao Sergio8903,
    il codice è abbastanza semplice (forse ci saresti riuscito aiutandoti con il registratore di macro), comunque sappi che in linea di massima non conviene lavorare con le celle unite in VBA.

    Codice: 
    Option Explicit
    
    Sub tabella()
    Dim x As Integer, y As Integer, i As Integer, j As Integer, casella As Range
    
    
    Set casella = Range("A5:A6")
    x = Range("A3")
    y = Range("C3")
    
    
    Application.ScreenUpdating = False
    casella.Copy
    For j = 1 To y
        For i = 8 To 8 + x * 2 Step 2
            Cells(i, j).PasteSpecial xlPasteAll
        Next i
    Next j
    
    
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
    Range("A1").Select
    End Sub


    Ti lascio il file di esempio...

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  3. I seguenti utenti hanno dato un "Like"


  4. #3
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3338
    Versione Office
    2013 PC
    Likes ricevuti
    481
    Likes dati
    49
    Citazione Originariamente Scritto da cromagno Visualizza Messaggio
    Ciao Sergio8903,
    il codice è abbastanza semplice (forse ci saresti riuscito aiutandoti con il registratore di macro), comunque sappi che in linea di massima non conviene lavorare con le celle unite in VBA.

    Codice: 
    Option Explicit
    
    Sub tabella()
    Dim x As Integer, y As Integer, i As Integer, j As Integer, casella As Range
    
    
    Set casella = Range("A5:A6")
    x = Range("A3")
    y = Range("C3")
    
    
    Application.ScreenUpdating = False
    casella.Copy
    For j = 1 To y
        For i = 8 To 8 + x * 2 Step 2
            Cells(i, j).PasteSpecial xlPasteAll
        Next i
    Next j
    
    
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
    Range("A1").Select
    End Sub


    Ti lascio il file di esempio...
    Ciao Cromagno
    ahi ahi Piccolo errore le caselle copiate in verticale sono sempre una in più.
    prova a togliere step 2 (che non serve) e aggiungi 7 (che compensa le celle precedenti la prima da riempire).

    :999:

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  5. I seguenti utenti hanno dato un "Like"


  6. #4

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4016
    Versione Office
    2013
    Likes ricevuti
    1225
    Likes dati
    923
    Grazie Baloon,
    hai ragaione :246:

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  7. I seguenti utenti hanno dato un "Like"


  8. #5
    L'avatar di Sergio8903
    Clicca e Apri
    Data Registrazione
    Nov 2015
    Località
    Siena
    Messaggi
    10
    Versione Office
    Excel 2013
    Likes ricevuti
    0
    Likes dati
    8
    Citazione Originariamente Scritto da cromagno Visualizza Messaggio
    Ciao Sergio8903,
    il codice è abbastanza semplice (forse ci saresti riuscito aiutandoti con il registratore di macro), comunque sappi che in linea di massima non conviene lavorare con le celle unite in VBA.

    Codice: 
    Option Explicit
    
    Sub tabella()
    Dim x As Integer, y As Integer, i As Integer, j As Integer, casella As Range
    
    
    Set casella = Range("A5:A6")
    x = Range("A3")
    y = Range("C3")
    
    
    Application.ScreenUpdating = False
    casella.Copy
    For j = 1 To y
        For i = 8 To 8 + x * 2 Step 2
            Cells(i, j).PasteSpecial xlPasteAll
        Next i
    Next j
    
    
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
    Range("A1").Select
    End Sub


    Ti lascio il file di esempio...
    Citazione Originariamente Scritto da Baloon_50 Visualizza Messaggio
    Ciao Cromagno
    ahi ahi Piccolo errore le caselle copiate in verticale sono sempre una in più.
    prova a togliere step 2 (che non serve) e aggiungi 7 (che compensa le celle precedenti la prima da riempire).

    :999:
    Si me ne sono accorto e ho messo (x-1) non so se va bene ma risolve, grazie mille a tutti e 2.

    Un altra piccola cosa, dovrei creare tante pagine quanto è A3 e nominarle sessione 1,2... ecc. Facendo registra ho trovato questo:

    NSess = Range("A3").Value
    For i = 1 To NSess
    Sheets.Add After:=ActiveSheet
    Next i
    End Sub

    Però ovviamente non le nomina

    Grazie

  9. #6

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4016
    Versione Office
    2013
    Likes ricevuti
    1225
    Likes dati
    923
    Ciao,
    non ho capito cosa devi fare e cosa intendi con sessioni/pagine...
    Forse devi creare nuovi Fogli di lavoro?!?
    Magari allega un altro file di esempio con qualche nota.

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  10. #7
    L'avatar di Sergio8903
    Clicca e Apri
    Data Registrazione
    Nov 2015
    Località
    Siena
    Messaggi
    10
    Versione Office
    Excel 2013
    Likes ricevuti
    0
    Likes dati
    8
    Citazione Originariamente Scritto da cromagno Visualizza Messaggio
    Ciao,
    non ho capito cosa devi fare e cosa intendi con sessioni/pagine...
    Forse devi creare nuovi Fogli di lavoro?!?
    Magari allega un altro file di esempio con qualche nota.
    Si scusate sono un pò fuso, allora devo creare tanti fogli quanto è il numero nella cella A3 e nominarli "sessione" 1,2,3...

  11. #8
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3338
    Versione Office
    2013 PC
    Likes ricevuti
    481
    Likes dati
    49
    Citazione Originariamente Scritto da Sergio8903 Visualizza Messaggio
    Si scusate sono un pò fuso, allora devo creare tanti fogli quanto è il numero nella cella A3 e nominarli "sessione" 1,2,3...
    se non ho capito male ecco la risposta.

    Codice: 
    Sub inseriscifogli()
    
    Dim Nsess As Integer
    Dim i As Integer
    
    
    Nsess = Range("A3").Value
    For i = 1 To Nsess
    Sheets.Add After:=ActiveSheet
    Next i
    
    
    For i = 1 To Sheets.Count
        Sheets(i).Name = "Sessione " & i
    Next
    End Sub

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  12. #9

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4016
    Versione Office
    2013
    Likes ricevuti
    1225
    Likes dati
    923
    ops...
    ha già fatto Baloon :246:

    comunque, stessa cosa ma un'alternativa...

    Codice: 
    Sub sessioni()
    Dim i As Integer, nome As String
    
    
    nome = "Sessione "
    i = Range("A3").Value
    
    
    For i = 1 To 8
        Worksheets.Add After:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
        ActiveSheet.Name = nome & i
    Next i
    Sheets("Foglio1").Activate
    End Sub

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  13. #10
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3338
    Versione Office
    2013 PC
    Likes ricevuti
    481
    Likes dati
    49
    Citazione Originariamente Scritto da cromagno Visualizza Messaggio
    ops...
    ha già fatto Baloon :246:

    comunque, stessa cosa ma un'alternativa...

    Codice: 
    Sub sessioni()
    Dim i As Integer, nome As String
    
    
    nome = "Sessione "
    i = Range("A3").Value
    
    
    For i = 1 To 8
        Worksheets.Add After:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
        ActiveSheet.Name = nome & i
    Next i
    Sheets("Foglio1").Activate
    End Sub
    Cromagno c'è qualcosa che non quadra.

    Dai ad i il valore di cella A3
    e subito dopo lo azzeri col For
    e poi perchè For i = 1 to 8

    io farei :
    a = range("A3").value
    for i = 1 to a

    :999:

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  14. I seguenti utenti hanno dato un "Like"


  15. #11

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4016
    Versione Office
    2013
    Likes ricevuti
    1225
    Likes dati
    923
    :258: :292:

    vero, mi son dimenticato di cambiarlo...

    oggi mi sa che son io quello fuso :246:

    [EDIT]
    mi si stanno accavallando le variabili in testa a forza di rispondere a discussioni differenti :235:

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  16. I seguenti utenti hanno dato un "Like"


  17. #12
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3338
    Versione Office
    2013 PC
    Likes ricevuti
    481
    Likes dati
    49
    Citazione Originariamente Scritto da cromagno Visualizza Messaggio
    :258: :292:

    vero, mi son dimenticato di cambiarlo...

    oggi mi sa che son io quello fuso :246:

    [EDIT]
    mi si stanno accavallando le variabili in testa a forza di rispondere a discussioni differenti :235:
    occhio che le variabili non facciano fare salti di celle altrimenti ti salta anche la testa ahahahahah

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  18. I seguenti utenti hanno dato un "Like"


  19. #13
    L'avatar di Sergio8903
    Clicca e Apri
    Data Registrazione
    Nov 2015
    Località
    Siena
    Messaggi
    10
    Versione Office
    Excel 2013
    Likes ricevuti
    0
    Likes dati
    8
    Grazie mille, sicuramente in giornata vi chiederò altri aiuti :)

  20. #14

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4016
    Versione Office
    2013
    Likes ricevuti
    1225
    Likes dati
    923
    Ok... ma se dovesse accadere, apri una nuova discussione e...
    se possibile vedremo di aiutarti. Dico "vedremo" perchè spero ci sia anche Baloon a sostenermi nel caso dovessi "fondermi" nuovamente :191:

    Se il problema è stato risolto segna questa discussione come [RISOLTO]
    Vai nella barra dei menu, situata all’inizio di questa discussione, troverai il menu “Strumenti Discussione” quindi scegli “Segna questo Thread come risolto”

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  21. I seguenti utenti hanno dato un "Like"


Discussioni Simili

  1. Copiare in foglio2 dati disposti in verticale
    Di Paolerrai nel forum Domande su Excel VBA e MACRO
    Risposte: 2
    Ultimo Messaggio: 31/12/16, 19:44
  2. [Risolto] Valori asse orizzontale
    Di Rollhaze nel forum Domande sui Grafici di Excel
    Risposte: 4
    Ultimo Messaggio: 29/12/16, 15:42
  3. Risposte: 3
    Ultimo Messaggio: 05/12/16, 21:21
  4. Risposte: 18
    Ultimo Messaggio: 22/09/16, 02:23
  5. ScrollBar in orizzontale su ListBox
    Di Pacifico437 nel forum Domande su Excel VBA e MACRO
    Risposte: 3
    Ultimo Messaggio: 04/09/16, 13:01

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •