| | Post: 15 | Registrato il: 26/10/2018
| Città: CASALE MONFERRATO | Età: 38 | Utente Junior | 2016 | | OFFLINE | |
|
15/11/2018 13:11 | |
Ciao a tutti,
come da oggetto, vorrei sapere qual'è il codice VBA da utilizzare per ottenere lo stesso risultato di selezione dati con CTRL+A?
Ovvero come si selezionano tutti i dati contenuti nel foglio tra la prima e l'ultima cella in cui ci sono dati (incluse celle vuote)?
Grazie e saluti |
|
| | Post: 2.001 | Registrato il: 06/04/2013
| Utente Veteran | 2010 | | OFFLINE |
|
15/11/2018 13:18 | |
che io sappia, ctrl + A seleziona tutto il foglio....
ora risponderti è difficile perchè dipende da molte variabili.
Puoi provare con usedrange, ma spesso non restituisce l'esatta corrispondenza perchè dipende dal fatto che se hai cancellato qualche riga, finchè non salvi, usedrange le considera come "piene".
Forse facciamo prima se ci mandi un esempio di quel che hai e di quello che vuoi ottenere.
saluti
Domenico
Win 10 - Excel 2016 |
| | Post: 734 | Registrato il: 16/08/2015
| Città: CORDENONS | Età: 67 | Utente Senior | Excel 2016-32bit Win11 | | OFFLINE |
|
15/11/2018 22:49 | |
Un saluto a tutti.
Considerato che Ctrl+A seleziona si tutte le celle occupate ma se la prima colonna o riga è vuota funziona così solo se il cursore è all'interno delle celle occupate.
Propongo questa macro come una possibile soluzione alla richiesta formulata: Option Explicit
Sub Imita_Ctrl_A()
Dim PrimaRiga As Long
Dim PrimaCol As Long
Dim UltimaRiga As Long
Dim UltimaCol As Long
Dim Area As Range
PrimaRiga = Cells.Find("*", , , , xlByRows, xlNext).Row
PrimaCol = Cells.Find("*", , , , xlByColumns, xlNext).Column
UltimaRiga = Cells.Find("*", , , , xlByRows, xlPrevious).Row
UltimaCol = Cells.Find("*", , , , xlByColumns, xlPrevious).Column
Set Area = Range(Cells(PrimaRiga, PrimaCol), Cells(UltimaRiga, UltimaCol))
Application.Goto Area
End Sub [Modificato da rollis13 15/11/2018 22:59]
______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto) |
| | Post: 15 | Registrato il: 26/10/2018
| Città: CASALE MONFERRATO | Età: 38 | Utente Junior | 2016 | | OFFLINE | |
|
15/11/2018 23:59 | |
Grazie Rollis13,
funziona perfettamente.
A questo punto però, non essendo il codice semplice da modificare come pensavo, ti chiedo, come si imiterebbero i tasti CTRL+C e CTRL+V?
Ovvero, vorrei una macro che selezionasse tutti i dati, li copiasse, li incollasse come valori e mi salvasse in automatico il file con la data del giorno.
Il codice per il salvataggio in data odierna l'ho già, mi mancano gli altri passaggi.
Riusciresti a darmi una mano?
Grazie in anticipo |
| | Post: 2.006 | Registrato il: 06/04/2013
| Utente Veteran | 2010 | | OFFLINE |
|
16/11/2018 17:03 | |
ciao
alla fine del codice:
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'istruzioni di salvataggio
saluti
Domenico
Win 10 - Excel 2016 |
| | Post: 735 | Registrato il: 16/08/2015
| Città: CORDENONS | Età: 67 | Utente Senior | Excel 2016-32bit Win11 | | OFFLINE |
|
16/11/2018 22:45 | |
... manca un Selection.Copy per simulare il Ctrl+C 😁.
______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto) |
| | Post: 2.007 | Registrato il: 06/04/2013
| Utente Veteran | 2010 | | OFFLINE |
|
17/11/2018 09:38 | |
..eheheh vedi che vuol dire essere giovani???
cari saluti
Domenico
Win 10 - Excel 2016 |
|
|