[Excel] Rijhoogte aanpassen

Pagina: 1
Acties:
  • 1.002 views sinds 30-01-2008
  • Reageer

Acties:
  • 0 Henk 'm!

Anoniem: 102390

Topicstarter
Ik heb een Excel werkblad (Excel 2002) met 4 kolommen en zo'n 1300 rijen. Omdat het bestand uiteindelijk gedrukt gaat worden heb ik alle cellen automatisch 'passend' laten maken zodat er niets wegvalt op papier.

Echter ik wil nu graag na elke rij een stukje 'wit' (eigenlijk een witregel van 10 punten) toevoegen, dit lukt mij echter op geen manier (behalve rij per rij aanpassen). Als ik namelijk meerdere rijen selecteer en de hoogte iets aanpas, wordt opeens de hoogte van alle rijen gelijk, terwijl dat niet dat bedoeling is.

Ik ben benieuwd of Excel überhaupt een mogelijkheid biedt om dit tot stand te brengen en natuurlijk dat mijn probleem een beetje duidelijk is :P.

edit: Na elke rij een lege rij invoegen zou natuurlijk de oplossing zijn, maar voor zover ik weet is dat niet (automatisch) mogelijk.

[ Voor 12% gewijzigd door Anoniem: 102390 op 05-04-2006 10:37 ]


Acties:
  • 0 Henk 'm!

  • Arnout
  • Registratie: December 2000
  • Laatst online: 28-05 20:53
Tuurlijk kan dit wel. Met VBA.

ff heel snel:

Loopje die door alle rijen heen loopt. Rijhoogte = rijhoogte + 10.

Acties:
  • 0 Henk 'm!

Anoniem: 102390

Topicstarter
Oh god ... m'n VBA - ontmaagding :P.

Zoiets?

With Worksheets("Blad1").Rows(1135)
.RowHeight = .RowHeight + 10
End With

Acties:
  • 0 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Yup. Zet er een For each rij in worksheets("Blad1").rows voor en Exit als rij.row > 1300

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Acties:
  • 0 Henk 'm!

Anoniem: 102390

Topicstarter
F_J_K schreef op woensdag 05 april 2006 @ 10:57:
Yup. Zet er een For each rij in worksheets("Blad1").rows voor en Exit als rij.row > 1300
Dus, dit:

For Each rij In Worksheets("Blad1").Rows
With Worksheets("Blad1").Rows(1135)
.RowHeight = .RowHeight + 10
End With

En waar moet dan dat rij.row > 1300?

Dank voor begrip en geduld

Acties:
  • 0 Henk 'm!

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

niet precies:

code:
1
2
3
For each rij in worksheets("blad1").rows
    rij.rowheight=rij.rowheight + 10
next rij

For each rij in rows loopt alle rijen langs, en stopt ze een voor een in de variabele rij. Als je wilt stoppen na rij 1300 zet je die exit in de for/each lus.

offtopic:
Excel topics mogen in OFF, en code mag tussen [code][/code] tags

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


Acties:
  • 0 Henk 'm!

Anoniem: 102390

Topicstarter
Omdat het mij niet lukte de bovenstaande tips toe te passen, heb ik in plaats van elke rij te verhogen tussen elke rij een lege rij toegevoegd met volgende code:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
Sub Insert_Blank_Rows()

   'Select last row in worksheet.
   Selection.End(xlDown).Select

   Do Until ActiveCell.Row = 1
      'Insert blank row.
      ActiveCell.EntireRow.Insert shift:=xlDown
      'Move up one row.
      ActiveCell.Offset(-1, 0).Select
   Loop

End Sub


Dit geeft echter wat problemen met printen, intussen ben ik al vrij geirriteerd dat dit me nou zoveel tijd moet kosten :P, dus mijn vraag: zou iemand zo vriendelijk willen zijn de complete code te geven om alle rijhoogtes met 10 te vergroten. Het zou mij een mental-breakdown besparen ;).

Dank, dank, dank.

Acties:
  • 0 Henk 'm!

  • Paul
  • Registratie: September 2000
  • Laatst online: 28-05 21:56
_totaaaaal_ onbekend met VBA als ik ben heb ik Niesje's code in ThisWorkbook -> Workbook_open() gezet en in het menu voor Uitvoeren sub/userform gekozen, en nu zijn al mijn rijen 10 hoger...
Goed, het duurt even omdat ik de limiet van 1300 er niet in heb gezet, maar toch.
En je moet daarna wel die code er weer uithalen, want anders worden je rijen iedere keer dat je het Excel-bestand opent met 10 verhoogd :P

Come to think of it, ik heb wel wat veranderd. worksheets("blad1").rows kende hij niet, maar Blad1.rows wel :)

Wat werkt er bij jou niet?

[ Voor 31% gewijzigd door Paul op 12-04-2006 12:24 ]

"Your life is yours alone. Rise up and live it." - Richard Rahl
Rhàshan - Aditu Sunlock


Acties:
  • 0 Henk 'm!

Anoniem: 102390

Topicstarter
Paul Nieuwkamp schreef op woensdag 12 april 2006 @ 12:23:
_totaaaaal_ onbekend met VBA als ik ben heb ik Niesje's code in ThisWorkbook -> Workbook_open() gezet en in het menu voor Uitvoeren sub/userform gekozen, en nu zijn al mijn rijen 10 hoger...
Goed, het duurt even omdat ik de limiet van 1300 er niet in heb gezet, maar toch.
En je moet daarna wel die code er weer uithalen, want anders worden je rijen iedere keer dat je het Excel-bestand opent met 10 verhoogd :P

Come to think of it, ik heb wel wat veranderd. worksheets("blad1").rows kende hij niet, maar Blad1.rows wel :)

Wat werkt er bij jou niet?
Pfff en ik maar kloten met die modules. Dank. Ik ga me wel beetje verdiepen in VBA, het interesseert me wel :D.

Acties:
  • 0 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Visual Basic:
1
2
3
4
5
6
7
8
Sub bladiebla()

For Each rij In Worksheets("blad1").Rows
    rij.RowHeight = rij.RowHeight + 10
    If rij.Row > 130 Then Exit For
Next rij

End Sub

Werkt prima. Als je het in ThisWorkbook of Blad1 zet, of in een nieuwe module.

'For Each rij In Blad1.Rows' kan ook, is iets minder "mooi". 'For Each rij In ActiveSheet.Rows' kan ook als Blad1 actief is. Moet allemaal prima werken, als dat niet het geval is moet je (moeten we) even kijken waarom niet :P

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)

Pagina: 1