• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Layout via vba

Status
Niet open voor verdere reacties.

sjoerd81

Gebruiker
Lid geworden
24 jul 2009
Berichten
161
Hallo,

Adhv van de button layout (cel O2) wordt de layout aangepast. Echter omdat het bereik variabel is wordt de layout vaak te ver doorgevoerd. Het bereik begint altijd bij cel A2 en eindigt bij de waarde in cel N1. Hoe pas ik dit toe in vba?
Tevens zou ik graag de formule in cel I46 graag automatisch in de cel onder de waarde van cel N1 willen zien.

Sjoerd
 

Bijlagen

  • Layout via vba.xls
    98 KB · Weergaven: 25
Ben ook een beginner met VBA, ik heb je code iets aangepast, nu wordt het getal in cel P1 gebruikt als laatste rij.

werkt wel....... is niet zo mooi.
 

Bijlagen

  • Kopie van Layout via vba.xls
    89 KB · Weergaven: 24
De rasterlijnen staan nu goed ingesteld, alleen wordt de originele opmaak niet helemaal mee overgenomen.
 
kun je het misschien iets nauwkeuriger uitleggen? ik begrijp je niet helemaal.

Daarbij, de code in module 1 ziet er een stuk professioneler uit dan in module 2, module 2 is waarschijnlijk opgenomen met de macro recorder.

Module 2 probeer ik nu iets netter te krijgen maar ik ben ook nog aan het leren, dus er zullen hier mensen zijn die het veel beter kunnen.
 
Laatst bewerkt:
Het aantal kolommen wijzigd. Zie ter verduidelijking de diverse tabbladen in de bijlage.

Sjoerd
 

Bijlagen

  • Layout via vba2.xls
    86,5 KB · Weergaven: 15
Volgens mij is een hoop van de code overbodig.
Zelfs de waarde in cel L1 hoef je niet te gebruiken. Deze kan in VBA zo berekend worden.

Code:
Sub Opmaak()
With Range("A1:L" & Range("J" & Rows.Count).End(xlUp).Row)
    .Borders().LineStyle = xlNone
    .BorderAround xlContinuous, xlThin, xlColorIndexAutomatic
    With .Borders(xlInsideVertical)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
    With .Borders(xlInsideHorizontal)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
End With
End Sub

Met vriendelijke groet,


Roncancio
 
Ik krijg de volgende melding


Run-time error '1004':

Unable to set the LineStyle property of the Border class
 
Ik krijg de volgende melding


Run-time error '1004':

Unable to set the LineStyle property of the Border class

De fout verschijnt over het algemeen als je een lijn wilt trekken (bijvoorbeeld vertikaal) terwijl je maar 1 kolom selecteert.
Volgens mij is dit niet aan de orde.

Code:
Sub Opmaak()
With Range("A1:L" & Range("L1").Value)
    .Borders().LineStyle = xlNone
    .BorderAround xlContinuous, xlThin, xlColorIndexAutomatic
    With .Borders(xlInsideVertical)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
    With .Borders(xlInsideHorizontal)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
End With
End Sub
Bovenstaande code verwijst nu naar cel L1.
Een kleine aanpassing, maar of het probleem hiermee verholpen is....?

Met vriendelijke groet,


Roncancio
 
De code werkt :)

Ik zou alleen nog graag de formule, die ik nu nog zelf in cel J770 heb gezet, automatisch in de juiste cel terecht zien komen.
In cel O1 wordt de cel, waar de formule naar toe moet, aangegeven. Nu moet deze alleen nog in de code worden verwerkt. Wie helpt?

Sjoerd
 

Bijlagen

  • Layout1492010.xls
    95 KB · Weergaven: 26
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan