| | Post: 12 | Registrato il: 27/12/2017
| Città: SIGNA | Età: 46 | Utente Junior | 2007 | | OFFLINE | |
|
15/03/2018 20:14 | |
salve a tutti
ho provato ad registrare una macro e funziona ma purtroppo vorrei migliorarala e nn so come fare.
la macro è questa:
Sub Macro2()
'
' Macro2 Macro
'
'
Range("F10:F89").Select
Selection.Copy
ActiveWindow.SmallScroll Down:=-12
Range("L4").Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
Sheets("magazzino").Select
Range("F11:F90").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("I18").Select
Application.CutCopyMode = False
ActiveWorkbook.Save
End Sub
praticamente copio i valori di una colonna su una cartella x e l'incollo su un altra cartella y , fino a qui ci siamo, io vorrei che quando copio su cartella y se la colonna è già ocuupato che mi incolli nella colonna successiva . es. prima volta copia su colonna f 2 volta su colonna g e via di seguito. |
|
| | Post: 3.254 | Registrato il: 28/06/2011
| Città: AGORDO | Età: 70 | Utente Master | 2013 | | OFFLINE | |
|
15/03/2018 21:05 | |
Dovrebbe essere giusta così
vb Sub Macro2()
Dim Ur As Long, X As Long
Range("F10:F89").Copy
Range("L4").Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
Sheets("magazzino").Select
For X = 8 To 1000 'inizia da G sino 1000
Ur = Cells(1048576, X).End(xlUp).Row
If Ur <= 11 Then 'incolla solo se la cella (riga11) è vuota
Range(Cells(11, X), Cells(90, X)).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Exit For
End If
Next X
Range("I18").Select
Application.CutCopyMode = False
ActiveWorkbook.Save
End Sub
Excel 2013 |
| | Post: 12 | Registrato il: 27/12/2017
| Città: SIGNA | Età: 46 | Utente Junior | 2007 | | OFFLINE | |
|
16/03/2018 00:05 | |
Grazie
Domani provo e ti faccio sapere |
| | Post: 13 | Registrato il: 27/12/2017
| Città: SIGNA | Età: 46 | Utente Junior | 2007 | | OFFLINE | |
|
16/03/2018 10:50 | |
ciao
ho provato ma da questo come errore
Ur = Cells(1048576, X).End(xlUp).Row
Sub Macro55()
Dim Ur As Long, X As Long
Range("F10:F89").Copy
Range("L4").Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
Sheets("magazzino").Select
For X = 8 To 1000 'inizia da G sino 1000
Ur = Cells(1048576, X).End(xlUp).Row
If Ur <= 11 Then 'incolla solo se la cella (riga11) è vuota
Range(Cells(11, X), Cells(90, X)).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Exit For
End If
Next X
Range("I18").Select
Application.CutCopyMode = False
ActiveWorkbook.Save
End Sub |
| | Post: 1.839 | Registrato il: 06/04/2013
| Utente Veteran | 2010 | | OFFLINE |
|
16/03/2018 12:54 | |
che excel hai?
per il 2003: Ur = Cells(65536, X).End(xlUp).Row
saluti
Domenico
Win 10 - Excel 2016 |
| | Post: 3.256 | Registrato il: 28/06/2011
| Città: AGORDO | Età: 70 | Utente Master | 2013 | | OFFLINE | |
|
16/03/2018 16:22 | |
Se mi permetti, dovresti allegare un files
>>>Ho risposto solo a naso (non conoscendo le coordinate del files)
Io, uso 2007, ed non vedo errori Excel 2013 |
| | Post: 14 | Registrato il: 27/12/2017
| Città: SIGNA | Età: 46 | Utente Junior | 2007 | | OFFLINE | |
|
16/03/2018 16:45 | |
Scusami io personalmente ho un 2003 ma dove va questa formula è 2016 |
| | Post: 3.257 | Registrato il: 28/06/2011
| Città: AGORDO | Età: 70 | Utente Master | 2013 | | OFFLINE | |
|
16/03/2018 17:06 | |
Non dovrei più risponderTi...(in firma hai 2007, deve funzionare)
Hai 2003, cavoli Tuoi nel fare domande.
Pure su ...Selection.Hyperlinks(1). [Modificato da raffaele1953 16/03/2018 17:10] Excel 2013 |
| | Post: 15 | Registrato il: 27/12/2017
| Città: SIGNA | Età: 46 | Utente Junior | 2007 | | OFFLINE | |
|
16/03/2018 17:24 | |
Senti sono stato educato nel dirti scusa E tu mi rispondi così,penso che in un forum ci si naviga per imparare se sapevo che era così importante te lo avrei detto, sicuramente io sono molto scarso in materia ma tu se nn hai in minimo di pazienza nessuno ti obbliga a rispondere. Detto questo grazie lo stesso. |
| | Post: 3.258 | Registrato il: 28/06/2011
| Città: AGORDO | Età: 70 | Utente Master | 2013 | | OFFLINE | |
|
16/03/2018 17:52 | |
....Ur = Cells(1048576, X).End(xlUp).Row
Con Excel 2003>>>Ur = Cells(65536, X).End(xlUp).Row [Modificato da raffaele1953 17/03/2018 13:00] Excel 2013 |
|
|