Avatar billede ra1101 Nybegynder
25. september 2006 - 09:56 Der er 6 kommentarer og
1 løsning

Farvelæg Excel, efter eksport

Hej kloge hoveder

Jeg har en database som ender ud med at en forespørgsel eksporteres til en Excelfil.
Det går fint med det, men jeg kunne godt tænke mig at kunne farvelægge kolonnerne i Excel efter (eller samtidigt med), når jeg eksportere dataene.

Det skal være mange forskellige farver i de forskellige kolonner.

Vi vil samtidigt gerne kunne formatere den første række til at være: "Lodret tekst".
Avatar billede terry Ekspert
25. september 2006 - 10:03 #1
I very much doubt that an do this at the same time as you export, you will need to automate Exclel from Access and then you can do almost anything you want.

http://www.mvps.org/access/modules/mdl0006.htm
Avatar billede terry Ekspert
25. september 2006 - 10:06 #2
This is a very simple example of how to automate Excel from Access.
Avatar billede ra1101 Nybegynder
25. september 2006 - 10:38 #3
Jeg ved ikke om det er mig der er tung i betrækket, eller har jeg forklaret mig dårligt, for jeg kan ikke finde nogen i det eksempel om farvning af kolonner.

En forepørgsel eksporteres til Excel, og i samme procedure skal kolonnerne i Excel farves i forskellige farver......
Avatar billede terry Ekspert
25. september 2006 - 11:04 #4
25/09-2006 10:06:07 >> "This is a very simple example of how to automate Excel from Access."

How are you exporting, docmd.TransferSpreadsheet ... maybe?

Ther is NO way which I know of using docmd.TransferSpreadsheet to colour your columns etc. To do this you need to automate Excel from Access and for this I gave a SIMPLE example, the example was NOT how to colour you columns etc as this i smore an Excel question than Access.

Do you know how to change the column colours in Excel using code?
Avatar billede fdata Forsker
25. september 2006 - 18:58 #5
En samlet løsning:

Global xlApp As Object

Sub XL_Farve_Test()
  Set xlApp = CreateObject("Excel.Application")
 
  With xlApp
    .Visible = True
    .Workbooks.Add
 
    ' Farvede kolonner
    .Range("A:A").Select
    Call XL_Farve(1, 8)        ' Kald med række,kolonne
    .Range("B:D").Select
    Call XL_Farve(4, 3)
    .Range("E:F").Select
    Call XL_Farve(3, 1)
 
    ' Lodret tekst
    .Range("A1").Select
    .ActiveCell.Value = "Her"
    .Range("B1").Select
    .ActiveCell.Value = "står"
    .Range("C1").Select
    .ActiveCell.Value = "en"
    .Range("D1").Select
    .ActiveCell.Value = "række"
    .Range("E1").Select
    .ActiveCell.Value = "lodrette"
    .Range("F1").Select
    .ActiveCell.Value = "tekster"
 
    .Range("1:1").Select
    With .Selection
        .HorizontalAlignment = 1
        .VerticalAlignment = -4107
        .WrapText = False
        .Orientation = 90
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = -5002
        .MergeCells = False
    End With
   
    .Range("H2").Select
  End With
  Set xlApp = Nothing
End Sub

Sub XL_Farve(Række As Integer, Kolonne As Integer)
  Dim c As Variant
  Dim Farve As Long
 
  ' De 5 farverækker i Excel
  c = Array(1, 53, 52, 51, 49, 11, 55, 56, _
            9, 46, 12, 10, 14, 5, 47, 16, _
            3, 45, 43, 50, 42, 41, 13, 48, _
            7, 44, 6, 4, 8, 33, 54, 15, _
            38, 40, 36, 35, 34, 37, 39, 2)
   
  If (Række = 0 And Kolonne = 0) Then
    Farve = -4142      ' None
  Else
    Farve = (Række - 1) * 8 + (Kolonne - 1)
  End If
 
    With xlApp.Selection.Interior
      .ColorIndex = c(Farve)
      .Pattern = 1      ' xlSolid
    End With
End Sub
Avatar billede fdata Forsker
25. september 2006 - 19:02 #6
... dette er blot en demo af rutinerne. I dit eksempel skal du naturligvis åbne din egen fil:
    .Workbooks.Open Filename:= "C:\EnMappe\EnFil.xls"
i stedet for
    .Workbooks.Add
Avatar billede fdata Forsker
29. august 2007 - 00:22 #7
Takker for point  ;o)
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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