copia incolla intero foglio
Hai un problema con Excel? 
copia - incolla intero foglio
di Escounpo (utente non iscritto) data: 01/09/2014 16:15:22
Ciao a tutti..
mi trovo in difficoltà nella creazione di una macro..
praticamente dovrei Copiare ed incollare un intero foglio (copiandolo dalla linguetta in basso) e una volta creato il nuovo foglio copiare ed incollare i valori..
facendo quest'ultima fase mi da un errore :(
allego il codice (dove si capisce meglio cosa voglio dire)
grazie mille a tutti
Sub provA()
Dim miofile As String
Dim carea As String
Dim csettore As Variant
Dim settore As Variant
Dim area As Variant
Dim wk1 As Workbook
Dim wk2 As Workbook
Dim wk3 As Workbook
Dim wk4 As Workbook
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Dim ultimariga As Integer
Sheets("Budget").Select
Sheets("Budget").Copy
With thisworbook
.Foglio1.Activate
.Cells.Select
.Selection.Copy
.Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End With
End Sub
|
di Grograman (utente non iscritto) data: 01/09/2014 16:39:50
Metti l'istruzione "Option Explicit" e vedrai perchè ;)
P.s. non è l'unico errore.
di lepat (utente non iscritto) data: 01/09/2014 16:44:00
non si capisce qual'è il foglio da copiare e quello in cui copiare, comunque puoi adattare questo codice
Sub a()
Set Rng = Sheets(1).UsedRange ' foglio da cui copiare
LC = Rng.Columns.Count
LR = Rng.Rows.Count
Sheets(2).Range(Cells(1, 1), Cells(LR, LC)).Value = Rng.Value ' foglio su cui copiare
End Sub
|
di Escounpo (utente non iscritto) data: 01/09/2014 16:55:21
ciao e grazie per la risposta
dovrei copiare il foglio "budget" contenuto in una workbook in un'altra workbook,
ma non dovrei fare copia-incolla valori tra i 2 fogli (come farebbe la macro che mi hai gentilmente postato) ma dovrei copiare l'intero foglio (andando proprio sulla linguetta del foglio "budget", schiacciando il tasto destro, selezionando "sposta o copia", selezionando "nuova cartella", fleggando "crea una copia") ed una volta fatto questo dovrei "eliminare le formule" nel nuovo foglio facendo un copia ed incolla dei valori..
mi sono spiegato?!:(
di Grograman (utente non iscritto) data: 01/09/2014 16:58:59
Versione brutta, ma bruttabruttabrutta:
Option Explicit
Sub Scopiazzo()
ThisWorkbook.Worksheets("Budget").Copy
ActiveSheet.UsedRange = ActiveSheet.UsedRange.Value
End Sub
|
di lepat (utente non iscritto) data: 01/09/2014 17:00:16
nel tuo codice non c'è niente che faccia riferimento all'altro workbook, se rimani sul vago otterrai risposte vaghe
di Escounpo (utente non iscritto) data: 01/09/2014 17:02:05
perchè bruttabruttabrutta?!:)
sembra funzionare..
se io invece volessi copiare ed incollare solo delle parti di foglio?
devo modificare Usedrange? come?
grazie
di Escounpo (utente non iscritto) data: 02/09/2014 12:18:31
"nel tuo codice non c'è niente che faccia riferimento all'altro workbook, se rimani sul vago otterrai risposte vaghe"
hai ragione scusa! non volevo essere vago, davo per scontato pezzi di discorso ( )
cmq si, il foglio "budget" dovrebbe essere copiato ed incollato così da andare a creare un'altra workbook (proprio come fa la formula di Grograman ), ora sarebbe molto bello capire come copiare ed incollare a valore solo alcuni range e non tutta il foglio..
:( grazie
di Escounpo (utente non iscritto) data: 02/09/2014 15:51:10
la mia richiesta si completa (ma aihme, anche se ultimamente sto imparando molto, arrivo fino ad un certo punto con vba).
Ora, tenendo valido il codice di Grograman dovrei solo definire il range da copiare ed incollare, per farlo dovrei utilizzare come "filtro" il colore delle celle, a tal proposito ho trovato questa formula che dovrebbe essere quindi integrata dentro la prima. qualcuno sa come si può fare? incollo le tue formule
Option Explicit
Sub Scopiazzo()
ThisWorkbook.Worksheets("Budget").Copy
ActiveSheet.UsedRange = ActiveSheet.UsedRange.Value
End Sub
Sub definisci_celle()
Dim c As Range, Yc As Range
For Each c In ActiveSheet.UsedRange
If c.Interior.Color = RGB(219, 229, 241) Then
If Yc Is Nothing Then
Set Yc = c
Else
Set Yc = Application.Union(Yc, c)
End If
End If
Next c
End Sub |
Vuoi Approfondire?