Condividi:        

[EXCEL] Inserire righe in automatico in base ad una parola

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

[EXCEL] Inserire righe in automatico in base ad una parola

Postdi giovannirm » 13/12/17 16:59

Ciao a tutti,

ho provato a cercare la soluzione al mio problema sul forum ma non ho trovato nulla cosi ho deciso di scrivere.

Ho un foglio excel in cui, manualmente, da un menù a tendina scelgo tra 3 voci "PARETE INTERA" "PARETE CON FINESTRA" "PARETE CON PORTA".

Avrei bisogno che in automatico venissero aggiunte 4 righe se scelgo "PARETE CON FINESTRA" oppure 3 righe se scelgo "PARETE CON PORTA". Se viene scelto "PARETE INTERA" non si devono aggiungere righe.

Poi, se fosse possibile, sarebbe meraviglioso se le righe aggiunte riportassero sulla colonna C il numero della colonna A + a-b-c-d.
Mi spiego meglio, ipotizziamo che nella cella A3 ci sia il valore 2 e che dal menu a tendina nella colonna B abbia scelto "PARETE CON FINESTRA", vorrei che nelle 4 righe aggiunge venisse scritto nella colonna C 2A - 2B - 2C -2D.

Poi, se si potesse automatizzare anche l'unione delle celle della colonna A e l'unione delle celle della colonna B sarebbe il massimo.


Vi allego due immagini per farvi capire:

questo è il file allo stato attuale
https://photos.app.goo.gl/M31thblTIZB8Abdf2

questo è come dovrebbe diventare
https://photos.app.goo.gl/WV3QGUkxKEdTMKAM2

E' una cosa fattibile?
Grazie in anticipo
giovannirm
Newbie
 
Post: 4
Iscritto il: 06/09/12 16:47

Sponsor
 

Re: [EXCEL] Inserire righe in automatico in base ad una paro

Postdi Anthony47 » 14/12/17 13:46

Se hai un file gia' pronto allora allegalo senza costringerci a perdere tempo a ricrearcelo... Vale per la prossima volta.
Avrei bisogno che in automatico venissero aggiunte 4 righe se scelgo "PARETE CON FINESTRA" oppure 3 righe se scelgo "PARETE CON PORTA". Se viene scelto "PARETE INTERA" non si devono aggiungere righe.
Mi permetto di supporre che se si sceglie "PARETE CON FINESTRA" vanno aggiunte 3 (tre) righe, oppure 2 (due) righe se scegli "PARETE CON PORTA".

Puoi ottenere quanto richiesto con questa macro di "Worksheet_Change":
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
Dim CkArea As String, cAdd As Long
'
CkArea = "B2:B100"              '<<< L'area da tenere sotto controllo
If Not Application.Intersect(Target, Range(CkArea)) Is Nothing And Target.Count = 1 Then
    If UCase(Target.Value) = "PARETE CON PORTA" Then
        cAdd = 2
    ElseIf UCase(Target.Value) = "PARETE CON FINESTRA" Then
        cAdd = 3
    End If
    If cAdd > 0 Then
        Target.Offset(1, 0).Resize(cAdd, 1).EntireRow.Insert Shift:=xlDown
        If Target.MergeArea.Rows.Count = 1 Then
            Target.Resize(cAdd + 1, 1).Merge
        Else
            Target.UnMerge
            Target.Resize(cAdd + 1, 1).Merge
        End If
    End If

End If
End Sub

Il codice va messo nel "modulo vba del foglio su cui lavori"; per questo, partendo da excel:
-tasto dx sul tab col nome del foglio su cui lavori, scegli Visualizza codice
-copia il codice e incollalo nel frame destro vuoto dell'editor delle macro che verra' aperto
-personalizza la riga marcata <<< come da commento
A questo punto torna sul foglio di lavoro e prova a inserire un valore in colonna B.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19181
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "[EXCEL] Inserire righe in automatico in base ad una parola":


Chi c’è in linea

Visitano il forum: Nessuno e 29 ospiti