| | Post: 9 | Registrato il: 22/12/2015
| Città: ROMA | Età: 54 | Utente Junior | excel 2003 | | OFFLINE |
|
20/01/2016 18:44 | |
Buona sera, eccomi a confrontarmi da vero principiante con le macro.
Ho cercato nel forum il mio problema che credevo più comune: ovvero fare una macro, associata ad un pulsante, che riesca a numerare in maniera alfanumerica e progressiva solo le righe che contengono il testo, ma non trovo una soluzione.
Sto lavorando ad un file nel quale vengono inserite le caratteristiche di alcuni lotti di prodotti che devono essere organizzati per conservazione e mantenimento, nel caso dell'allegato mandarini. Di volta in volta, il numero di righe cambia, da un minimo di circa 40 ad un massimo di circa 3000 e mi trovo nella necessità di numerare ogni volta le righe.
Nel file allegato ci sono 2 macro, una associata al pulsante, realizzata con il registratore, che ha il limite di avere un range definito e rigido, una seconda macro che non riesco a far girare, in cui ho provato a fare un loop for next che decide se selezionare celle sulla base della presenza di testo nella colonna D.
In poche parole credo di aver fatto un casino.... qualcuno può darmi un indicazione su come poter procedere? Grazie in anticipo |
|
| | Post: 1.405 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Veteran | Excel 365 | | OFFLINE |
|
20/01/2016 19:27 | |
L'allegato non c'è.
Alfredo |
| | Post: 10 | Registrato il: 22/12/2015
| Città: ROMA | Età: 54 | Utente Junior | excel 2003 | | OFFLINE |
|
20/01/2016 20:14 | |
Scusate, ricarico l'allegato.
p.s.
approfitto per aggiungere che la parte non numerica del numero progressivo è composta da lettere sempre uguali.
Grazie.
|
| | Post: 2.833 | Registrato il: 28/06/2011
| Città: AGORDO | Età: 70 | Utente Veteran | 2013 | | OFFLINE | |
|
20/01/2016 21:42 | |
Forse non ho capito, perchè in colonna D sono tutte scritte le celle
Casomai Ti interessa sia le celle vuote che eventualmente scritte con ex AL MITTENTE sarà
If Cells(X, 4) minoremaggiore "" or Cells(X, 4) ="AL MITTENTE" Then
Sub PROGRESSIVA_SCRITTA2()
Dim FinalRow, X, N
FinalRow = Cells(Rows.Count, 2).End(xlUp).Row
N = 1
For X = 5 To FinalRow
If Cells(X, 4) <> "" Then
Cells(X, 1) = N & " xyz"
N = N + 1
End If
Next X
End Sub
Excel 2013 |
| | Post: 1.406 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Veteran | Excel 365 | | OFFLINE |
|
20/01/2016 21:44 | |
Ciao Pierlu
Tu vorresti che cliccando sul pulsante la colonna A si riempia dl numero progressivo n xyz sino all'ultima cella piena della colonna B? O non ho interpretato bene la tua richiesta?
Leggo ora la risposta di Raffaele (che saluto) ed è esattamente la macro cui avevo pensato. [Modificato da alfrimpa 20/01/2016 21:48]
Alfredo |
| | Post: 11 | Registrato il: 22/12/2015
| Città: ROMA | Età: 54 | Utente Junior | excel 2003 | | OFFLINE |
|
20/01/2016 22:47 | |
Grazie mille Raffaele e Alfredo Intanto grazie per le tempestive risposte!
Ho provato la macro ed è fantastica! E' bella, pulita e funziona perfettamente, Raffaele, anche l'opzione alternativa or è perfetta: ho da studiare!!!!!
Scusate la difficoltà nello spiegare, in realtà le colonne B, C, D ed E sono sempre piene, la D in particolare, viene riempita manualmente, quindi l'avevo presa come riferimento, ma il concetto era esattamente quello intuito da Alfredo di far riempire la colonna A con un numero progressivo n xyz sino all'ultima cella piena della colonna B.
Grazie ancora! Grazie veramente! funziona che è uno spettacolo! |
|
|