Login Registrati
Stai vedendo 8 articoli - dal 1 a 8 (di 8 totali)
  • Autore
    Articoli
  • #4005 Score: 0 | Risposta

    Dodi
    Partecipante
      2 pts
      Buona sera
      mi cimento con continui dilemmi
      ho la necessità di copiare dei dati e metterli in colonna sullo stesso foglio. 
      fino al copia incolla ci son riuscito, ma ora viene il dilemma, 
      in pratica i dati che ho nel Range("E13:F13,J13,M13") variano con l'esecuzione del  filtro. 
      Con il tasto archivia volevo copiare i dati nel range appena citato e incollarli e metterli in colonna 
      a partire dalla cella H57, 
       
      mi occorrerebbe che venga fatto il cotrollo dal basso e incollare i dati nella cella libera. 
      come posso fare?
      saluti e grazie anticipatamente. 
      allego il file 
      Allegati:
      You must be logged in to view attached files.
      #4015 Score: 0 | Risposta

      patel
      Moderatore
        51 pts
        devi calcolare l’ultima riga occupata con
        LastRow = Cells(Rows.Count, “A”).End(xlUp).Row
        #4025 Score: 0 | Risposta

        Dodi
          Buon giorno 
          Patel 
          Avevo già provato con il codice che mi hai inviato. 
          Avevo fatto una ricerca nel forum e mi era comparso il tuo nome con il tuo codice. Ma mi sovrascrive sempre la stessa riga. Forse ho sbagliato qualcosa nel mio codice? Puoi dargli un occhio 
          Grazie 
           
          #4027 Score: 0 | Risposta

          patel
          Moderatore
            51 pts
            LastRow = Cells(Rows.Count, “A”).End(xlUp).Row indica l'ultima riga piena, quella vuota successiva la ottieni con
            LastRow = Cells(Rows.Count, “A”).End(xlUp).Row + 1
            #4029 Score: 0 | Risposta

            Dodi
            Partecipante
              2 pts
              Niente continua a sovrascrivere, 
              dove continuo a sbagliare?
               
              Sub Copia_incolla()
              Dim lastRow As Long
              lastRow = Cells(Rows.Count, "H").End(xlUp).Row + 1
              Worksheets("foglio1").Select
               
                  Range("E13:F13,J13,M13").Select
                  Range("M13").Activate
                  Selection.Copy
               
                  Range("H57").Select
                  ActiveSheet.Paste
                  Range("L57").Select
                  Application.CutCopyMode = False
              End Sub
               
               
              #4038 Score: 0 | Risposta

              Dodi
              Partecipante
                2 pts
                Ringrazio per la pazienza, 
                ho risolto in questo modo. 
                anche se ero cmq curioso di capire dove sbagliavo sul codice precedente, 
                anche perchè nel modo precedente mi copiava anche il formato delle celle copiate, 
                mentre con qsto di ora non mi accade, 
                 
                Saluto tutti e posto la soluzione 
                 
                 
                 
                Sub Copia_incolla()
                Sheets("foglio1").Select
                Range("E13,F13,J13,M13").Select 'celle da copiare
                Selection.Copy
                Sheets("foglio1").Select
                Range("H65000").End(xlUp).Offset(1, 0).Select
                Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                :=False, Transpose:=False
                Application.CutCopyMode = False
                 
                End Sub
                #4077 Score: 0 | Risposta

                patel
                Moderatore
                  51 pts
                  sbagliavi perché calcolavi lastRow e poi non lo utilizzavi, avresti dovuto scrivere
                  lastRow = Cells(Rows.Count, “H”).End(xlUp).Row + 1
                  Range(“H” & lastrow).Select
                  col nuovo codice fai in pratica la stessa cosa scritta in modo più compatto
                  Range(“H65000”).End(xlUp).Offset(1, 0).Select
                   
                  #4078 Score: 0 | Risposta

                  Dodi
                  Partecipante
                    2 pts
                    Ecco dove sbagliavo. Pensavo che dandogli il range ("H57").select 
                    Gli davo la destinazione dove controllare. 
                    Mi perdo sempre in piccolezze. 
                    Grazie per il suggerimeno. 
                     
                     
                  Login Registrati
                  Stai vedendo 8 articoli - dal 1 a 8 (di 8 totali)
                  Rispondi a: Copia_incola_Archivia
                  Gli allegati sono permessi solo ad utenti REGISTRATI
                  Le tue informazioni: