Wederom een vraag van mij. De rapportage die uit mijn Excelletje komt, ziet er goed uit, maar wat vervelend is, is dat er samengevoegde cellen zijn die daarnaast nog eens gevuld zijn met samengevoegde teksten. Nou, op zich niet vervelend, ware het niet dat je niet zomaar een rijhoogte automatisch kunt aanpassen met samengevoegde cellen. Doe je dat namelijk, dan wordt de rijhoogte automatisch op één rijhoogte gezet. En dat staat natuurlijk niet mooi als je meerdere regels in één cel hebt.
Gelukkig is het internet daar en jawel, er is een macro voor:
Nu is het probleem dat er hier met een Array wordt gewerkt. Zoals ik het zie kan ik hier niet zomaar een range invullen (dat werkt in elk geval niet. Op het interwebs lees ik dan dat ik dit moet vervangen:
Door:
Maar dat haalt werkelijk niets uit; sterker nog, het script doet het dan helemaal niet meer.
Excuses voor alle vragen, maar terwijl ik de ene vraag even parkeer, ga ik weer met het andere 'probleem' aan de slag. 
                    
                    Gelukkig is het internet daar en jawel, er is een macro voor:
code:
| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 | Sub FixMerged() 'Excel VBA to autofit merged cells
Dim mw As Single
Dim cM As Range
Dim rng As Range
Dim cw As Double
Dim rwht As Double
Dim ar As Variant
Dim i As Integer
Application.ScreenUpdating = False
'Cell Ranges below, change to suit.
ar = Array("A1", "A2", "A3", "A5", "A6")
For i = 0 To UBound(ar)
On Error Resume Next
Set rng = Range(Range(ar(i)).MergeArea.Address)
rng.MergeCells = False
cw = rng.Cells(1).ColumnWidth
mw = 0
For Each cM In rng
cM.WrapText = True
mw = cM.ColumnWidth + mw
Next
mw = mw + rng.Cells.Count * 0.66
rng.Cells(1).ColumnWidth = mw
rng.EntireRow.AutoFit
rwht = rng.RowHeight
rng.Cells(1).ColumnWidth = cw
rng.MergeCells = True
rng.RowHeight = rwht
Next i
Application.ScreenUpdating = True
End Sub | 
Nu is het probleem dat er hier met een Array wordt gewerkt. Zoals ik het zie kan ik hier niet zomaar een range invullen (dat werkt in elk geval niet. Op het interwebs lees ik dan dat ik dit moet vervangen:
code:
| 1
2
3
 | Dim ar As Variant
ar = Array("A1", "A2", "A3", "A5", "A6") | 
Door:
code:
| 1
2
 | Dim Ar As Variant 
Ar = Range("A1:A6") | 
Maar dat haalt werkelijk niets uit; sterker nog, het script doet het dan helemaal niet meer.
Excuses voor alle vragen, maar terwijl ik de ene vraag even parkeer, ga ik weer met het andere 'probleem' aan de slag.
"Het probleem van quotes op internet is dat ze vaak niet kloppen of in elk geval niet herleidbaar zijn" - Vincent van Gogh
/u/253626/crop636d14e9a93d3_cropped.png?f=community) 
            :strip_icc():strip_exif()/u/517178/crop5e8dca00a16b9.jpeg?f=community) 
            
:strip_exif()/u/18316/blurpani2.gif?f=community)