| | Post: 1.575 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Veteran | Excel 365 | | OFFLINE |
|
29/02/2016 18:45 | |
Ho in apparenza un quesito banale ma per quanto mi sia sforzato non riesco a trovare la soluzione.
Ho allegato un file dove in colonna A c'è una serie di nomi variamente disposti.
In colonna B è il risultato che vorrei ottenere con le formule.
Ossia dopo ogni nome possono esserci n righe vuote; io vorrei che in colonna B se la corrispondente cella in colonna A e vuota venga riportato il nominativo stesso.
Spero di essere stato chiaro.
Alfredo |
|
| | Post: 440 | Registrato il: 10/10/2013
| Città: VICENZA | Età: 69 | Utente Senior | 365 | | OFFLINE |
|
29/02/2016 18:55 | |
Ciao
AL
in B1
=SE(A1<>"";A1;B1)
l'unica condizione è che in A1 ci sia sempre un nome
non può essere vuota
in B2
=SE(A2<>"";A2;B1)
[Modificato da federico460 29/02/2016 19:16] |
| | Post: 1.575 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Veteran | Excel 365 | | OFFLINE |
|
29/02/2016 19:08 | |
Grazie Gianfranco sapevo che era una cavolata.
Alfredo |
| | Post: 441 | Registrato il: 10/10/2013
| Città: VICENZA | Età: 69 | Utente Senior | 365 | | OFFLINE |
|
29/02/2016 19:17 | |
Ciao Al
mi era rimasto un 2 sulla tastiera |
| | Post: 1.576 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Veteran | Excel 365 | | OFFLINE |
|
29/02/2016 19:21 | |
Si me ne ero accorto e ho corretto.
Alfredo |
| | Post: 1.577 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Veteran | Excel 365 | | OFFLINE |
|
29/02/2016 19:38 | |
Gianfranco visto che tu sei bravo anche con il VBA e, come diciamo a Napoli, per "sfruculiare la mazzarella di San Giuseppe" (traduzione: "perdurare nell’infastidire, provocare e punzecchiare." mi piacerebbe sapere come scriveresti una macro che faccia la stessa cosa.
P.S. Tutto bene? Ti sei rimesso
Alfredo |
| | Post: 1.580 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Veteran | Excel 365 | | OFFLINE |
|
01/03/2016 13:43 | |
Ciao Gianfranco
Non ti dar pena ce l'ho fatta
Sub prova()
Dim rng As Range
Dim cel As Range
Dim parola As String
Set rng = Range("a1:a22")
Application.ScreenUpdating = False
For Each cel In rng
If cel.Value <> "" Then
parola = cel.Value
cel.Offset(0, 1).Value = cel.Value
Else
cel.Offset(0, 1).Value = parola
End If
Next cel
Application.ScreenUpdating = True
End Sub
Un caro saluto.
Alfredo |
| | Post: 443 | Registrato il: 10/10/2013
| Città: VICENZA | Età: 69 | Utente Senior | 365 | | OFFLINE |
|
01/03/2016 17:43 | |
Ciao
Al
|
| | Post: 0 | Registrato il: 03/09/2016
| Città: NAPOLI | Età: 47 | Utente Junior | excel 2013 | | OFFLINE | |
|
03/09/2016 16:05 | |
macro riempimento celle nome [QUOTE:132362174=alfrimpa, 01/03/2016 13.43]Ciao Gianfranco
Non ti dar pena ce l'ho fatta
[TESTO ::text]Sub prova()
Dim rng As Range
Dim cel As Range
Dim parola As String
Set rng = Range("a1:a22")
Application.ScreenUpdating = False
For Each cel In rng
If cel.Value <> "" Then
parola = cel.Value
cel.Offset(0, 1).Value = cel.Value
Else
cel.Offset(0, 1).Value = parola
End If
Next cel
Application.ScreenUpdating = True
End Sub
[/TESTO]
Un caro saluto.[/QUOTE]
Buonasera Alfredo
sono nuovo del forum ed anche un principiante nel utilizzo di excel e VBA.
Posso adattare questa macro per riempiere le celle in un foglio, mi spiego meglio ho un none seguito da celle vuote nella stessa colonna poi un altro nome è così via. Vorrei se possibile creare una macro che mi consenta di riempire le celle con il nome corrispondente, inoltre il numero delle righe e dei nomi è variabile ogni volta che apro il file aggiornato.
Ti ringrazio anticipatamente per la tua disponibilità nel rispondermi e mi auguro di aver esposto bene il mio problema.
Saluti
Luigi
|
| | Post: 2.206 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Veteran | Excel 365 | | OFFLINE |
|
03/09/2016 16:35 | |
Ciao Luigi
A me sembra che la mia macro faccia quello che vuoi con la sola differenza che agisce su un intervallo fisso (a1:a22) e non variabile. Prova con la macro qui sotto che agisce quale che sia la lunghezza dell'intervallo.
Sub prova()
Dim rng As Range
Dim cel As Range
Dim parola As String
Dim ur as Long
ur = Cells(Rows.Count, 1).End(xlUp).Row
Set rng = Range("a1:a" & ur)
Application.ScreenUpdating = False
For Each cel In rng
If cel.Value <> "" Then
parola = cel.Value
cel.Offset(0, 1).Value = cel.Value
Else
cel.Offset(0, 1).Value = parola
End If
Next cel
Application.ScreenUpdating = True
End Sub
Alfredo |
| | Post: 1 | Registrato il: 03/09/2016
| Città: NAPOLI | Età: 47 | Utente Junior | excel 2013 | | OFFLINE | |
|
03/09/2016 23:08 | |
alfrimpa, 03/09/2016 16.35:
Ciao Luigi
A me sembra che la mia macro faccia quello che vuoi con la sola differenza che agisce su un intervallo fisso (a1:a22) e non variabile. Prova con la macro qui sotto che agisce quale che sia la lunghezza dell'intervallo.
Sub prova()
Dim rng As Range
Dim cel As Range
Dim parola As String
Dim ur as Long
ur = Cells(Rows.Count, 1).End(xlUp).Row
Set rng = Range("a1:a" & ur)
Application.ScreenUpdating = False
For Each cel In rng
If cel.Value <> "" Then
parola = cel.Value
cel.Offset(0, 1).Value = cel.Value
Else
cel.Offset(0, 1).Value = parola
End If
Next cel
Application.ScreenUpdating = True
End Sub
Grazie di tutto Alfredo
due cose una che mi copia nella colonna di lato io invece avrei bisogno di rimpire le celle vuote della stessa colonna , la seconda è che sul ultimo nome la macro non agisce. ti allego elenco eventualemte non mi fossi spiegato bene
Grazie mille di tutto
Luigi
|
| | Post: 2.207 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Veteran | Excel 365 | | OFFLINE |
|
03/09/2016 23:25 | |
Ciao Luigi
Purtroppo sono in ferie e non ho con me il pc per cui vado solo a memoria comunque prova a sostituire tutte le istruzioni
cel.Offset(0, 1)
con
cel.Offset(1, 0)
Se non dovesse funzionare come ti aspetti dovresti avere la pazienza di attendere sino a lunedì 12 quando rientro e potrò usare il pc.
Sempre che qualcuno non ti risponda prima.
Alfredo |
| | Post: 2 | Registrato il: 03/09/2016
| Città: NAPOLI | Età: 47 | Utente Junior | excel 2013 | | OFFLINE | |
|
03/09/2016 23:34 | |
alfrimpa, 03/09/2016 23.25:
Ciao Luigi
Purtroppo sono in ferie e non ho con me il pc per cui vado solo a memoria comunque prova a sostituire tutte le istruzioni
cel.Offset(0, 1)
con
cel.Offset(1, 0)
Se non dovesse funzionare come ti aspetti dovresti avere la pazienza di attendere sino a lunedì 12 quando rientro e potrò usare il pc.
Sempre che qualcuno non ti risponda prima.
Grazie mille Alfredo
scusa se ti ho disturbato mentre sei in ferie.
Comunque non funziona perchè copia il primo nome per tutta la colonna.
A presto e buon proseguimento di vacanza.
Saluti
Luigi
|
| | Post: 336 | Registrato il: 16/08/2015
| Città: CORDENONS | Età: 67 | Utente Senior | Excel 2016-32bit Win11 | | OFFLINE |
|
03/09/2016 23:45 | |
Provo a fare da "ciambella" per alfrimpa adattando il suo codice alla tua esigenza primaria: Option Explicit
Sub prova()
Dim rng As Range
Dim cel As Range
Dim parola As String
Dim ur As Long
ur = Cells(Rows.Count, 1).End(xlUp).Row
Set rng = Range("A1:A" & ur)
Application.ScreenUpdating = False
For Each cel In rng
If cel.Value <> "" Then
parola = cel.Value
Else
cel.Value = parola
End If
Next cel
Application.ScreenUpdating = True
End Sub Per quanto riguarda l'ultimo nome bisogna cercare oltre la colonna "A" per reperire il numero di volte che va eventualmente ripetuto. [Modificato da rollis13 03/09/2016 23:47]
______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto) |
| | Post: 2.208 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Veteran | Excel 365 | | OFFLINE |
|
04/09/2016 10:18 | |
Grazie Rolando
Alfredo |
| | Post: 3 | Registrato il: 03/09/2016
| Città: NAPOLI | Età: 47 | Utente Junior | excel 2013 | | OFFLINE | |
|
04/09/2016 13:00 | |
alfrimpa, 04/09/2016 10.18:
Grazie Rolando
Grazie ad entrambi
la macro funziona perfettamente
Ciao
Luigi |
| | Post: 337 | Registrato il: 16/08/2015
| Città: CORDENONS | Età: 67 | Utente Senior | Excel 2016-32bit Win11 | | OFFLINE |
|
04/09/2016 15:51 | |
la macro funziona perfettamente
Meno male , sai che figura avrei fatto con alfrimpa .
______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto) |
| | Post: 2.209 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Veteran | Excel 365 | | OFFLINE |
|
04/09/2016 16:01 | |
rollis13, 04/09/2016 15.51:
la macro funziona perfettamente
Meno male , sai che figura avrei fatto con alfrimpa .
Se pure non avesse funzionato la mia stima nei tuoi riguardi sarebbe rimasta immutata
Alfredo |
|
|