È 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

Riempimento nomi

Ultimo Aggiornamento: 04/09/2016 16:01
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 [SM=x423026]
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." [SM=g27828] 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 [SM=g27828]

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
[SM=x423028]
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 [SM=g27828]

[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

Re:
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

Re:
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 [SM=x423053] 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 [SM=x423053]

Alfredo
Post: 3
Registrato il: 03/09/2016
Città: NAPOLI
Età: 47
Utente Junior
excel 2013
OFFLINE
04/09/2016 13:00

Re:
alfrimpa, 04/09/2016 10.18:

Grazie Rolando [SM=x423053]




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 [SM=x423070] , sai che figura avrei fatto con alfrimpa [SM=x423066] .

______________________________________________________________
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

Re:
rollis13, 04/09/2016 15.51:


la macro funziona perfettamente

Meno male [SM=x423070] , sai che figura avrei fatto con alfrimpa [SM=x423066] .



Se pure non avesse funzionato la mia stima nei tuoi riguardi sarebbe rimasta immutata [SM=g27828]


Alfredo
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 01:49. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com