IALweb Homepage
Forum Home Forum Home > MS Office > Microsoft Office > Microsoft Excel
  New Posts New Posts RSS Feed - Copia celle contiene data della settimana
  FAQ FAQ  Forum Search   Events   Register Register  Login Login


REGISTRATEVI su IALWeb forum!

Copia celle contiene data della settimana

 Post Reply Post Reply Page  12>
Author
Message
chiarava79 View Drop Down
Utente Senior
Utente Senior
Avatar

Joined: 29/Dic/2017
Status: Offline
Points: 225
Post Options Post Options   Thanks (0) Thanks(0)   Quote chiarava79 Quote  Post ReplyReply Direct Link To This Post Topic: Copia celle contiene data della settimana
    Posted: 08/Gen/2019 at 10:31
Ciao a tutti ed innanzitutto Buon anno anche se in ritardo.......

Vorrei chiedervi un aiuto: 

ho un database contenente numerose colonne che si ripetono, nel senso che la colonna C e la colonna E contengono dei dati e la colonna D una data nel formato "dd/mm/yyyy" La colonna F e la colonna H nuovamente dei dati sempre in formato Testo e la colonna G una data in formato "dd/mm/yyyy" e così via.....

Io avrei la necessità che  venissero copiate in un altro foglio e incolonnati i dati contenuti nelle righe delle colonne A /  B e quelli delle altre colonne in copia ( ad es. C / E oppure F / H ) se la data è riferita alla settimana precedente 

Vi allego un esempio


Come vedete, sono stati riportati i dati eccetto quello inserito in data 23/12/2018

Ad ogni riga aggiunta mi servirebbe che venisse riportata l'intestazione
Grazie!!!

Back to Top
Sponsored Links


Back to Top
dodo47 View Drop Down
Moderatore
Moderatore
Avatar

Joined: 29/Dic/2008
Location: Italy
Status: Offline
Points: 11556
Post Options Post Options   Thanks (0) Thanks(0)   Quote dodo47 Quote  Post ReplyReply Direct Link To This Post Posted: 09/Gen/2019 at 09:37
Ciao
(lavoro strano)

comunque: i dati al massimo finiscono in col. H o possono proseguire??

saluti


Edited by dodo47 - 09/Gen/2019 at 09:37
domenico
win 10- office 2016
Back to Top
chiarava79 View Drop Down
Utente Senior
Utente Senior
Avatar

Joined: 29/Dic/2017
Status: Offline
Points: 225
Post Options Post Options   Thanks (0) Thanks(0)   Quote chiarava79 Quote  Post ReplyReply Direct Link To This Post Posted: 09/Gen/2019 at 11:26
No possono proseguire..... anzi, a dire il vero proseguono fino a FO   CryCry
Back to Top
dodo47 View Drop Down
Moderatore
Moderatore
Avatar

Joined: 29/Dic/2008
Location: Italy
Status: Offline
Points: 11556
Post Options Post Options   Thanks (0) Thanks(0)   Quote dodo47 Quote  Post ReplyReply Direct Link To This Post Posted: 09/Gen/2019 at 12:33
Ciao
è un po' raffazzonato, ma....

saluti

domenico
win 10- office 2016
Back to Top
chiarava79 View Drop Down
Utente Senior
Utente Senior
Avatar

Joined: 29/Dic/2017
Status: Offline
Points: 225
Post Options Post Options   Thanks (0) Thanks(0)   Quote chiarava79 Quote  Post ReplyReply Direct Link To This Post Posted: 09/Gen/2019 at 13:04
Ti ringrazio moltissimo....

e' proprio quel che volevo...!!!!

Ultima cosa se posso "abusare" della tua disponibilità

Sarebbe possibile ottenere che venga copiata/incollata il testo contenuto nella cella della riga d'intestazione della colonna corretta?

Ti faccio un esempio

Se la cella D1 contiene il testo "Data inserimento dato" mentre la G1 "data inserimento dato 2" , mi servirebbe che venisse riportato nella cella D3 e D9 del foglio2 "data inserimento dato 2"

Grazie!!!Big smileBig smileBig smileBig smile




Edited by chiarava79 - 09/Gen/2019 at 13:13
Back to Top
dodo47 View Drop Down
Moderatore
Moderatore
Avatar

Joined: 29/Dic/2008
Location: Italy
Status: Offline
Points: 11556
Post Options Post Options   Thanks (0) Thanks(0)   Quote dodo47 Quote  Post ReplyReply Direct Link To This Post Posted: 09/Gen/2019 at 16:36
prova:
Sub copia()
Dim mFr As Worksheet, mTo As Worksheet, intestazione As Range, ur As Long
Set mFr = Worksheets("Foglio1")
Set mTo = Worksheets("Foglio2")
ur = mFr.Range("A" & Rows.Count).End(xlUp).Row
rt = 1
rf = 2
Worksheets("Foglio2").Select
Cells.ClearContents
For j = 2 To ur
    Set intestazione = mFr.Range("A1:E1")
    mTo.Range(Cells(rt, 1), Cells(rt, 5)) = intestazione.Value
    rt = rt + 1
    For i = 1 To 5
        mTo.Cells(rt, i) = mFr.Cells(j, i)
    Next i
    k = i
    Do Until mFr.Cells(j, k) = ""
        rt = rt + 1
        With mFr
            Set intestazione = Range(.Cells(1, k), .Cells(1, k + 2))
        End With
        mTo.Cells(rt, 1) = mFr.Cells(1, 1)
        mTo.Cells(rt, 2) = mFr.Cells(1, 2)
        mTo.Range(Cells(rt, 3), Cells(rt, 5)) = intestazione.Value
        rt = rt + 1
        mTo.Cells(rt, 1) = mFr.Cells(j, 1)
        mTo.Cells(rt, 2) = mFr.Cells(j, 2)
        mTo.Cells(rt, 3) = mFr.Cells(j, k)
        k = k + 1
        mTo.Cells(rt, 4) = mFr.Cells(j, k)
        k = k + 1
        mTo.Cells(rt, 5) = mFr.Cells(j, k)
        k = k + 1
    Loop
    rt = rt + 1
Next j
End Sub

Saluti
domenico
win 10- office 2016
Back to Top
chiarava79 View Drop Down
Utente Senior
Utente Senior
Avatar

Joined: 29/Dic/2017
Status: Offline
Points: 225
Post Options Post Options   Thanks (0) Thanks(0)   Quote chiarava79 Quote  Post ReplyReply Direct Link To This Post Posted: 09/Gen/2019 at 17:17
FUNZIONAAAAAAAAAAAAAAAAAAAAA!!!!!!!!!!!!!!!!!!!!!!!!   LOLSmile

Quando hai tempo mi potresti inserire le spiegazioni nella macro? Non spero di riuscirci, ma almeno vorrei tentare di capire qualcosa dei comandi Approve
Back to Top
dodo47 View Drop Down
Moderatore
Moderatore
Avatar

Joined: 29/Dic/2008
Location: Italy
Status: Offline
Points: 11556
Post Options Post Options   Thanks (0) Thanks(0)   Quote dodo47 Quote  Post ReplyReply Direct Link To This Post Posted: 10/Gen/2019 at 09:44
Ciao
premetto che quel codice sarebbe completamente da rifare.
Comunque questi sono i commenti
Saluti

Sub copia()
Dim mFr As Worksheet, mTo As Worksheet, intestazione As Range, ur As Long
'assegna a variabili i fogli
Set mFr = Worksheets("Foglio1")
Set mTo = Worksheets("Foglio2")
'calcola ultima riga foglio1
ur = mFr.Range("A" & Rows.Count).End(xlUp).Row
rt = 1 ' riga inizio scrittura su foglio2
rf = 2 'NON UTILIZZATA puoi cancellare
Worksheets("Foglio2").Select 'seleziona il foglio2
Cells.ClearContents 'pulisce i risultati precedenti

'apre un ciclo per analizzare tutte le righe del foglio1
For j = 2 To ur
    
    'prima intestazione del foglio1
    Set intestazione = mFr.Range("A1:E1")
    mTo.Range(Cells(rt, 1), Cells(rt, 5)) = intestazione.Value
    
    rt = rt + 1
    'copia il primo blocco di dati sul foglio2
    For i = 1 To 5
        mTo.Cells(rt, i) = mFr.Cells(j, i)
    Next i
    k = i
    
    'cerca se ci sono successivi blocchi dati da riportare per lo stesso nominativo
    Do Until mFr.Cells(j, k) = ""
        rt = rt + 1
        'valorizza successiva intestazione
        With mFr
            Set intestazione = Range(.Cells(1, k), .Cells(1, k + 2))
        End With
        'riporta nome bambino e fratello
        mTo.Cells(rt, 1) = mFr.Cells(1, 1)
        mTo.Cells(rt, 2) = mFr.Cells(1, 2)
        ' scrive intestazione successiva
        mTo.Range(Cells(rt, 3), Cells(rt, 5)) = intestazione.Value
        rt = rt + 1
        
        'riporta nome bambino e fratello su riga seguente
        mTo.Cells(rt, 1) = mFr.Cells(j, 1)
        mTo.Cells(rt, 2) = mFr.Cells(j, 2)
        
        ' riporta successivi dati: scuola-data ins-città
        mTo.Cells(rt, 3) = mFr.Cells(j, k)
        k = k + 1
        mTo.Cells(rt, 4) = mFr.Cells(j, k)
        k = k + 1
        mTo.Cells(rt, 5) = mFr.Cells(j, k)
        k = k + 1
    Loop
    rt = rt + 1
Next j
End Sub

domenico
win 10- office 2016
Back to Top
chiarava79 View Drop Down
Utente Senior
Utente Senior
Avatar

Joined: 29/Dic/2017
Status: Offline
Points: 225
Post Options Post Options   Thanks (0) Thanks(0)   Quote chiarava79 Quote  Post ReplyReply Direct Link To This Post Posted: 10/Gen/2019 at 16:20
Da rifare....'!?!?! Ma è perfetto......

GRAZIEEEEE
Back to Top
chiarava79 View Drop Down
Utente Senior
Utente Senior
Avatar

Joined: 29/Dic/2017
Status: Offline
Points: 225
Post Options Post Options   Thanks (0) Thanks(0)   Quote chiarava79 Quote  Post ReplyReply Direct Link To This Post Posted: 11/Gen/2019 at 09:50
.... perdonami..... 

Mi sono accorta di una cosa... la macro riporta nel foglio 2 tutti i dati anche quelli la cui data non riguarda la settimana precedente. 

Io avrei la necessità che  venissero copiate in un altro foglio e incolonnati i dati contenuti nelle righe delle colonne A /  B e quelli delle altre colonne in copia ( ad es. C / E oppure F / H ) se la data è riferita alla settimana precedente 
Back to Top
 Post Reply Post Reply Page  12>
  Share Topic   

Forum Jump Forum Permissions View Drop Down

Forum Software by Web Wiz Forums® version 10.17
Copyright ©2001-2013 Web Wiz Ltd.

This page was generated in 0,063 seconds.