Avatar billede tvc Seniormester
11. januar 2009 - 02:22 Der er 14 kommentarer og
1 løsning

Autofit - VBA

Hej

Hvordan sikre jeg at der ikke kan bruges funktionen Autofit Row i VBA?

Hilsen

TVC
Avatar billede jkrons Professor
11. januar 2009 - 10:19 #1
Du kan vlæe bare lade være med at bruge den :-)

Eller mener du, om man med VBA kabn forhindre brugerne i at bruge Auutofit i regnearket?
Avatar billede tvc Seniormester
11. januar 2009 - 14:48 #2
Årsagen til at jeg har brug for funktionen er, at jeg tror Autofit tidligere har været anvendt i arket. Jeg kan ikke se hvordan men kan slå det fra når det en gang er anvendt.
Avatar billede tvc Seniormester
11. januar 2009 - 15:43 #3
Mit problem er, at mine rækker ændre sig når jeg skriver i dem (rækkehøjden). Rækkehøjden sætter automatisk til 13?
Avatar billede jkrons Professor
11. januar 2009 - 22:28 #4
Autofit er så vidt jeg ved ikke noget, der slås til og fra. Det er en standardegenskab ved Excel, hvis du skriver flere linier i en celle, ændrer punktstørrelse mm.

Hvad er det, du ønsker at opnå?
Avatar billede tvc Seniormester
11. januar 2009 - 22:56 #5
Jeg har udarbejdet et ark der anvendes til at udarbejde faneblade i. For at kunne udarbejde alle typer af faneblade i arket skal den automatisk tilpasse rækkehøjden. Det har jeg fået til at virke fint, men når jeg så skriver i cellerne ændres rækkehøjden til 13 og det skal den jo ikke.
Avatar billede jkrons Professor
12. januar 2009 - 15:02 #6
Bliver den altid 13 uanswet punktstørrrelse?
Avatar billede tvc Seniormester
12. januar 2009 - 15:08 #7
Ja den bliver altid 13
Avatar billede jkrons Professor
12. januar 2009 - 16:19 #8
Det lyder godt nok mærkeligt

Med mindre at rækkerne som udgangspunkt er formateret til at være 13 høje, for så vil den altid forblive det. Hvis de ikke er formaterede, burde højden ændre sig efter behov.
Avatar billede tvc Seniormester
12. januar 2009 - 20:27 #9
Et eksempel fra mit program ser således ud for indeks 1-5 og indeks 1-6 (henholdsvis 5 og 6 faner) - rækkehøjden er dermed fastsat:

'Indeks 1-5
Sub L15()
    Application.ScreenUpdating = False
    Ark2.Range("b2") = "'1-5"
    Ark2.Range("a2") = 5
    Ark2.Range("IndexType") = 1
    RowHeight
    ColumnsShow
    Font
End Sub

'Indeks 1-6
Sub L16()
    Application.ScreenUpdating = False
    Ark2.Range("b2") = "'1-6"
    Ark2.Range("a2") = 6
    Ark2.Range("IndexType") = 1
    RowHeight
    ColumnsShow
    Font
End Sub

Sub RowHeight()

Ark3.Select

I = 1

For I = 1 To 54

With Ark3.Rows(I)
    .RowHeight = Range("H" & I).Value
End With

Next I

End Sub

Sub ColumnsShow()
    Ark3.Select
   
'Columnwidth

    Columns("B:E").ColumnWidth = Ark2.Range("ColumnWidthIndex").Value
    Columns("F:F").ColumnWidth = Ark2.Range("ColumnWidthText").Value
   
'Reset Hidden columns

    If Columns("B:B").EntireColumn.Hidden = False Then
        Columns("B:B").EntireColumn.Hidden = True
    End If
    If Columns("C:C").EntireColumn.Hidden = False Then
        Columns("C:C").EntireColumn.Hidden = True
    End If
    If Columns("D:D").EntireColumn.Hidden = False Then
        Columns("D:D").EntireColumn.Hidden = True
    End If
    If Columns("E:E").EntireColumn.Hidden = False Then
        Columns("E:E").EntireColumn.Hidden = True
    End If

'Hide columns

    If Ark2.Range("IndexType").Value = 1 Then
        Columns("B:B").EntireColumn.Hidden = False
    End If
    If Ark2.Range("IndexType").Value = 2 Then
        Columns("C:C").EntireColumn.Hidden = False
    End If
    If Ark2.Range("IndexType").Value = 3 Then
        Columns("D:D").EntireColumn.Hidden = False
    End If
    If Ark2.Range("IndexType").Value = 4 Then
        Columns("E:E").EntireColumn.Hidden = False
    End If
   
End Sub


'Font settings

Sub Font()

    Ark3.Columns("B:E").Select
    With Selection.Font
        .Name = "Arial"
        .Size = Ark2.Range("FontIndex").Value
    End With
   
 
    Ark3.Columns("F:F").Select
    With Selection.Font
        .Name = "Arial"
        .Size = Ark2.Range("FontText").Value
    End With

    Ark3.Range("F1").Select
   
    Application.ScreenUpdating = True
End Sub
Avatar billede jkrons Professor
13. januar 2009 - 00:27 #10
Hvad står der i H-kolonnen?
Avatar billede tvc Seniormester
14. januar 2009 - 11:02 #11
Der står rækkehøjden som et tal
Avatar billede jkrons Professor
14. januar 2009 - 17:44 #12
Og det er ikke 13? Hos mig virker det nydeligt. Har du prøvet din kode i et andet ark?
Avatar billede tvc Seniormester
15. januar 2009 - 11:16 #13
Tak jkrons

Dine bemærkninger fik mig til at opdate føgende funktion under ThisWorkbook :-)

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Selection.RowHeight = 13
End Sub

Jeg ved ikke hvordan den er kommet der, men jeg har nok testet med den tidligere ;-)

Tak for hjælpen og din tid - lægger du et svar?
Avatar billede tvc Seniormester
15. januar 2009 - 17:11 #14
Se i øvrigt mit tilægsspørgsmål http://www.eksperten.dk/spm/859935
Avatar billede jkrons Professor
15. januar 2009 - 18:58 #15
Et svar :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester