È soltanto un Pokémon con le armi o è un qualcosa di più? Vieni a parlarne su Award & Oscar!
 
Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

VBA MACRO: Estendere selezione a destra, copiare solo valori in basso

Ultimo Aggiornamento: 17/05/2018 00:08
Post: 29
Registrato il: 03/03/2014
Città: TORINO
Età: 54
Utente Junior
2007
OFFLINE
16/05/2018 06:35

Re:
raffaele1953, 15/05/2018 21.37:

A spiegarsi meglio, si ottengono vantaggi sia io che Tu
Questa fà un piccolo controllo (sulle colonne J ed M, se non sono scritte non fà nulla)
Nel VBA ci sono alcune spiegazioni, se il controllo colonna M non lo vuoi, a destra c'è la riga solo per J. Prova se va bene
vb
Sub Inserisci_Righe()
Dim rig As Long
rig = ActiveCell.Row
'controllo se sono scritte
If Cells(rig, 10) <> "" And Cells(rig, 13) <> "" Then ' oppure If Cells(rig, 10) <> "" Then'non controlla M
Range(Cells(rig + 1, 1), Cells(rig + 1, 26)).Insert Shift:=xlDown
Range(Cells(rig, 1), Cells(rig, 2)).Copy 'solo la data, oppure anche i turni Range(Cells(rig, 1), Cells(rig, 8)).Copy
Cells(rig + 1, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
'ora le colonne N/T
Range(Cells(rig, 14), Cells(rig, 20)).Copy
Cells(rig + 1, 14).PasteSpecial 'comprese le formule
Else
MsgBox "non posso aggiungere"
End If
End Sub



Mi pare proprio quel che cercavo così fa esattamente quel che intendevo io, l'unica cosa, se possibile, che in j (cognome richiedente) sarebbe bello mi aggiungesse la cella vuota nella nuova riga visto che tanto il nominativo da scrivere sarebbe diverso..se possibile altrimenti grasso che cola anche così.

Grazie.


vb

Sub Inserisci_Righe()
Dim rig As Long
rig = ActiveCell.Row
'controllo se sono scritte
'If Cells(rig, 10) <> "" And Cells(rig, 13) <> "" Then

' oppure

If Cells(rig, 10) <> "" Then 'non controlla M

Range(Cells(rig + 1, 1), Cells(rig + 1, 26)).Insert Shift:=xlDown

'Range(Cells(rig, 1), Cells(rig, 2)).Copy 'solo la data

'oppure anche i turni
Range(Cells(rig, 1), Cells(rig, 10)).Copy
Cells(rig + 1, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

'ora le colonne N/T
Range(Cells(rig, 14), Cells(rig, 20)).Copy
Cells(rig + 1, 14).PasteSpecial 'comprese le formule
Else
MsgBox "non posso aggiungere"
End If
End Sub

[Modificato da sputnik_r 16/05/2018 06:37]
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Copiare solo i valori che si esegue subito (3 messaggi, agg.: 13/12/2021 10:46)
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 22:13. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com