separare i nomi con riga

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
raimea
00sabato 10 febbraio 2024 14:20
ciao
nel fgl generale col G
da riga 8
vorrei separare i nomi con una riga tratteggiata verde

la riga dovrebbe essere messa al variare del nome
rispetto al nome della riga precedente

vi allego il file

ciao

federico460
00sabato 10 febbraio 2024 16:26
ciao
cosa intendi
mettere una riga vuota ogni cambio nome?
esempio
raimea
00sabato 10 febbraio 2024 16:35
ciao


mettere una riga vuota ogni cambio nome?


NO

vorrei fare come e' nel file allegato (riga verde messa manualmente)
semplicemente mettere verde-tratteggiato la riga

ciao
rollis13
00sabato 10 febbraio 2024 16:57
Un saluto a tutti.
Io in realtà la macro l'ho preparata ormai da parecchio ma non mi funziona il tratteggio; se qualcuno sa come scrivere il codice per ora pubblico la macro incompleta:
Option Explicit
Sub Inserisci_Tratteggio()
    Dim riga  As Long
    Application.ScreenUpdating = False
    For riga = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row To 9 Step -1 'cicla dal basso verso l'alto la colonna G
        Cells(riga, "G").Borders(xlEdgeTop).LineStyle = xlNone 'togli tratteggio preesistente
        If Cells(riga, "G").Value <> Cells(riga - 1, "G").Value Then 'se dati diversi ...
            With Cells(riga, "G").Borders(xlEdgeTop) '... metti il tratteggio
                .LineStyle = xlDash               '<- boh, si comporta da xlContinuous a causa del xlThick
                .Color = vbGreen
                .Weight = xlThick
            End With
        End If
    Next riga
    Application.ScreenUpdating = True
End Sub
rollis13
00sabato 10 febbraio 2024 17:18
Vabbè, per ora ho risolto utilizzando uno Stile invece che un Bordo. Mi sono creato uno Stile nuovo con il tratteggio in alto nominandolo Tratteggio e ho modificato la macro così:
Sub Inserisci_Stile()
    Dim riga  As Long
    Application.ScreenUpdating = False
    For riga = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row To 9 Step -1 'cicla dal basso verso l'alto la colonna G
        Cells(riga, "G").Style = "Normal"         'togli stile Tratteggio preesistente
        If Cells(riga, "G").Value <> Cells(riga - 1, "G").Value Then Cells(riga, "G").Style = "Tratteggio" 'se diverso applica stile Tratteggio
    Next riga
    Application.ScreenUpdating = True
End Sub
federico460
00sabato 10 febbraio 2024 17:22
ciao
Rollis
Sub Inserisci_Tratteggio()
    Dim riga  As Long
    Application.ScreenUpdating = False
    For riga = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row To 9 Step -1 'cicla dal basso verso l'alto la colonna G
        Cells(riga, "G").Borders(xlEdgeTop).LineStyle = xlNone 'togli tratteggio preesistente
        If Cells(riga, "G").Value <> Cells(riga - 1, "G").Value Then 'se dati diversi ...
            With Cells(riga, "G").Borders(xlEdgeTop) '... metti il tratteggio
         .LineStyle = xlDash
        .Color = vbGreen
        .TintAndShade = 0
        .Weight = xlMedium
            End With
        End If
    Next riga
    Application.ScreenUpdating = True
End Sub
rollis13
10sabato 10 febbraio 2024 17:27
Sì, sì, proprio così. A sbatterci il naso mi sono accorto che bastava usare .Weight = xlMedium invece di .xlThick. E' che nell'esempio il tratteggio sembrava più grosso.
raimea
00sabato 10 febbraio 2024 17:35
ciao
bene funziona come chiedevo.

mi sono accorto che mi servirebbe una piccola aggiunta se possibile 🙄

mantenedo riferimento col G come da descrizione

la riga verde tratteggiata di col G ,
si potrebbe far arrivare fino col I (i)

e' possibile con piccola aggiunta ?

ciao
alfrimpa
10sabato 10 febbraio 2024 17:58
Sostituisci la riga 7 con questa

vb
With Range(Cells(riga, 7), Cells(riga, 9)).Borders(xlEdgeTop)
rollis13
10sabato 10 febbraio 2024 18:13
Non è sufficiente, per non lasciare in giro immondizia bisogna anche cambiare la riga 5 in:
Range(Cells(riga, "G"), Cells(riga, "I")).Borders(xlEdgeTop).LineStyle = xlNone 'togli tratteggio preesistente
raimea
10sabato 10 febbraio 2024 19:14
ciao
e' tutto ok

grazie a tutti 🤩

ciao
Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 22:51.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com