Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Copia valore prima cella vuota di una colonna specifica

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Copia valore prima cella vuota di una colonna specifica

Postdi Marco75CT » 03/04/16 10:48

Ciao a tutti,
vorrei creare una macro per cui, alla pressione di un pulsante, il valore della cella A1 del Foglio1 venga copiato nella prima cella libera della colonna la cui intestazione corrisponde al valore in A2.
Grazie per l'aiuto
Marco75CT
Utente Senior
 
Post: 143
Iscritto il: 05/08/11 11:54

Sponsor
 

Re: Copia valore prima cella vuota di una colonna specifica

Postdi alfrimpa » 03/04/16 11:32

Ciao Marco

Con una macro del genere credo si faccia quello che chiedi ma va adattata al tuo caso.

Ti allego file di prova.

http://www.filedropper.com/marco75

Codice: Seleziona tutto
Sub incolonna()
Dim ur As Long
Dim rng As Range
Dim col As Long
Set rng = Range("E1:H1")
col = Application.WorksheetFunction.Match(Range("B1").Value, rng)
ur = Cells(Rows.Count, col).End(xlUp).Row
Range("a1").Copy Destination:=Cells(ur + 1, col + 4)
End Sub


Fai sapere.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 840
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Copia valore prima cella vuota di una colonna specifica

Postdi Marco75CT » 03/04/16 14:46

Ciao alfrimpa,
grazie per la risposta rapidissima.
Ho modificato il file in questo modo

Codice: Seleziona tutto
Sub incolonna()
Dim ur As Long
Dim rng As Range
Dim col As Long
Set rng = Range("B1:AA1")
col = Application.WorksheetFunction.Match(Range("A2").Value, rng) + 1
ur = Cells(Rows.Count, col).End(xlUp).Row + 1
Cells(ur, col) = Range("A1")
End Sub


e devo dire che funziona ma, c'è una cosa molto strana.
Tra le colonne del file di prova che ho realizzato, ci sono 2 intestate COL1 e COL10.
Se il valore nella cella A2 corrisponde a COL10, lui va a copiare il valore in A1 sotto la colonna COL1.
Sai dirmi se c'è una soluzione?

http://www.filedropper.com/cartel1_3

Grazie
Marco75CT
Utente Senior
 
Post: 143
Iscritto il: 05/08/11 11:54

Re: Copia valore prima cella vuota di una colonna specifica

Postdi alfrimpa » 03/04/16 15:44

Ciao Marco

Questa istruzione

Codice: Seleziona tutto
col = Application.WorksheetFunction.Match(Range("A2").Value, rng) + 1


va modificata così

Codice: Seleziona tutto
col = Application.WorksheetFunction.Match(Range("A2").Value, rng, 0) + 1


Ossia occorre aggiungere il terzo parametro alla funzione CONFRONTA()

Se tale parametro è zero CONFRONTA() troverà il primo valore che corrisponde esattamente a valore (cioè A2)
Se è omesso CONFRONTA() troverà il valore più grande che è minore o uguale a valore.

Comunque guardati l'help della funzione CONFRONTA (in inglese/VBA Match).
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 840
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Copia valore prima cella vuota di una colonna specifica

Postdi Marco75CT » 03/04/16 16:05

Grazie 1000!
Marco75CT
Utente Senior
 
Post: 143
Iscritto il: 05/08/11 11:54

Re: Copia valore prima cella vuota di una colonna specifica

Postdi alfrimpa » 03/04/16 17:04

Marco va precisato che se le intestazioni delle colonne fossero state tutte diverse il problema non si sarebbe presentato.

Con COL1 e COL10 non specificando il terzo parametro di CONFRONTA la funzione rileva il valore minore ossia COL1.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 840
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Copia valore prima cella vuota di una colonna specifica

Postdi Anthony47 » 04/04/16 01:32

Alfredo, l'ultima informazione non e' corretta al 100%; dice l'help on line della funzione Match a proposito del terzo parametro:
[Se il parametro e' omesso o e' pari a 1 allora] CONFRONTA troverà il valore più grande che è minore o uguale a valore. È necessario che i valori nell'argomento matrice siano disposti in ordine crescente, ad esempio ...-2; -1; 0; 1; 2;...A-Z; FALSO; VERO.

Poiche' in una serie di intestazioni non e' garantibile che i valori siano in ordine alfabetico crescente allora il risultato puo' facilmente essere sbagliato.

Perdona...
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13891
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Copia valore prima cella vuota di una colonna specifica

Postdi alfrimpa » 04/04/16 11:26

Anthony47 ha scritto:Perdona...


Ci mancherebbe Anthony da te c'è solo da imparare.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 840
Iscritto il: 30/12/13 17:01
Località: Napoli


Torna a Applicazioni Office Windows


Topic correlati a "Copia valore prima cella vuota di una colonna specifica":


Chi c’è in linea

Visitano il forum: Anthony47 e 6 ospiti