Avatar billede brilleabe Nybegynder
10. april 2004 - 12:38 Der er 31 kommentarer og
1 løsning

kopiering af betinget formatering via vba

Hej (og go' påske)

Jeg vil gerne kopiere noget betinget formatering til en bestemt kolonne i et nyt ark via vba.
jeg har prøvet med dette:

Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
        "=+VLOOKUP(F2;haster;1;FALSE)=F2"
    Selection.FormatConditions(1).Interior.ColorIndex = 45
    Selection.Copy
    Columns("F:F").Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False

...og det virker egentlig, men jeg vil gerne undgå at kopiere anden foramtering end den betingede - dvs ingen rammer og ligende.

er her nogen som kan hjælpe med det ?
Avatar billede Slettet bruger
10. april 2004 - 16:06 #1
Prøv med:

----------------------
Public Sub CopyFormats()

    With Selection
        .FormatConditions.Add Type:=xlExpression, Formula1:="=+VLOOKUP(F2;haster;1;FALSE)=F2"
        .FormatConditions(1).Interior.ColorIndex = 45
        .Copy
    End With
   
    With Columns("F:F")
        .PasteSpecial Paste:=xlPasteValues
        .FormatConditions.Add Type:=xlExpression, Formula1:="=+VLOOKUP(F2;haster;1;FALSE)=F2"
        .FormatConditions(1).Interior.ColorIndex = 45
    End With
   
    Application.CutCopyMode = False

End Sub
----------------------
Avatar billede brilleabe Nybegynder
11. april 2004 - 00:46 #2
Den kopiere desværre også teksten nedad. (og så går den i fejl 1004 inden den bliver færdig)
Avatar billede brilleabe Nybegynder
11. april 2004 - 00:47 #3
...men den hoder sig fra formaterne ;-)

Så det er jo et skridt på vejen.
Avatar billede Slettet bruger
11. april 2004 - 00:48 #4
Hvilken linie får du fejl på ?
Avatar billede brilleabe Nybegynder
11. april 2004 - 00:49 #5
.FormatConditions.Add Type:=xlExpression, Formula1:="=+VLOOKUP(F2;haster;1;FALSE)=F2"
Avatar billede brilleabe Nybegynder
11. april 2004 - 00:51 #6
(det var sgu' da hurtigt)
Avatar billede Slettet bruger
11. april 2004 - 00:52 #7
Er det kun den betingede formatering du vil kopiere, ikke værdierne i cellerne ?
Avatar billede Slettet bruger
11. april 2004 - 00:52 #8
(var tilfældigvis vågen og foran skærmen :-) )
Avatar billede brilleabe Nybegynder
11. april 2004 - 00:54 #9
nemmerlig - jeg er kun interesseret i den betingede formatering. Indholdet kommer fra et andet ark og skal ikke kopieres.
Avatar billede Slettet bruger
11. april 2004 - 00:59 #10
Du kan formentlig nøjedes med

-------------
Public Sub CopyFormats()
   
    With Columns("F:F")
        .FormatConditions.Add Type:=xlExpression, Formula1:="=+VLOOKUP(F2;haster;1;FALSE)=F2"
        .FormatConditions(1).Interior.ColorIndex = 45
    End With
   
End Sub
-------------

Den indsætter bare noget betinget formatering i kolonne F.

Med mindre den betinget formatering ændrer sig, skal den vel i grunden ikke gøre så meget andet. Eller har jeg misforstået problemet ?
Avatar billede brilleabe Nybegynder
11. april 2004 - 01:01 #11
den fejler stadig ved :
    .FormatConditions.Add Type:=xlExpression, Formula1:="=+VLOOKUP(F2;haster;1;FALSE)=F2"

(og den når ikke at ændre ved formateringen)
Avatar billede Slettet bruger
11. april 2004 - 01:02 #12
Prøv at fjerne plus tegnet foran VLOOKUP
Avatar billede brilleabe Nybegynder
11. april 2004 - 01:02 #13
nej, formatereingen ændrig sig ikke. Jeg opretter et nyt ark i ny og næ. (og det skulle jo gerne foregå automatisk..)

Jeg kopiere fra en pivot tabel og vil gerne beholde 'ramme' formateringen så det bliver overskueligt.
Avatar billede brilleabe Nybegynder
11. april 2004 - 01:09 #14
fjernet - men det ændre ikke på noget..
Avatar billede Slettet bruger
11. april 2004 - 01:10 #15
Det navngivet område "haster", findes det på alle dine ark ?
Avatar billede brilleabe Nybegynder
11. april 2004 - 01:11 #16
nej, kun i det ark som jeg prøver at kopiere til - dvs i det ark som skal have lavet beinget formatering.
Avatar billede brilleabe Nybegynder
11. april 2004 - 01:12 #17
(så det 'findes' vel i alle ark ik' ? )
Avatar billede Slettet bruger
11. april 2004 - 01:19 #18
Prøv med formlen:
=IF(VLOOKUP(A15;haster;2)=F2;TRUE;FALSE)

dvs. erstat
="=+VLOOKUP(F2;haster;1;FALSE)=F2"

med
="=IF(VLOOKUP(A15;haster;2)=F2;TRUE;FALSE)"
Avatar billede brilleabe Nybegynder
11. april 2004 - 01:26 #19
ked ad det, men den fejler stadig..
Avatar billede brilleabe Nybegynder
11. april 2004 - 01:28 #20
Skal koden ikke først 'skrive' : "=+VLOOKUP(F2;haster;1;FALSE)=F2" i en celle (F2)og så kopiere det til de andre ?
Avatar billede Slettet bruger
11. april 2004 - 01:38 #21
Ok...
Skal referencen F2 fastholdes for alle cellerne i kolonne F, eller skal den ændre sig
nedaf kolonnen.

f.eks.
F2 i række 1
F3 i række 2
osv..
Avatar billede brilleabe Nybegynder
11. april 2004 - 01:51 #22
F2 skal ændre sig  -  f2-f3-f4  i række 2,3,4 osv.

Det er en liste som jeg kopiere ind i et ark - og jeg vil så gerne have at værdier som findes i området 'haster' 'lyser' op, hvis du forstår.
Avatar billede Slettet bruger
11. april 2004 - 02:15 #23
ok, så er jeg vistnok med...(Det er også sent :-) )

Prøv med..
Du kan evt. ændre området (F2:F100)

---------
Public Sub CopyFormats()
   
    Columns("F:F").FormatConditions.Delete
   
    With [F2]
        .FormatConditions.Delete
        .FormatConditions.Add Type:=xlExpression, Formula1:="=IF(VLOOKUP(F2;haster;1;FALSE)=F2;TRUE;FALSE)"
        .FormatConditions(1).Interior.ColorIndex = 45
        .AutoFill Destination:=Range("F2:F100"), Type:=xlFillFormats
    End With
   
End Sub

---------
Avatar billede brilleabe Nybegynder
11. april 2004 - 02:18 #24
ja, det er sent ;-)

Nu kopierer den formatet, men den tager rammer+farve med
Avatar billede Slettet bruger
11. april 2004 - 02:31 #25
ok, det her er ikke elegant, men det virker (ihvertfald på min :-) )

----------
Public Sub CopyFormats()
   
    Columns("F:F").ClearFormats
   
    With ActiveSheet.[F2]
        .FormatConditions.Add Type:=xlExpression, Formula1:="=IF(VLOOKUP(F2;haster;1;FALSE)=F2;TRUE;FALSE)"
        .FormatConditions(1).Interior.ColorIndex = 45
        .AutoFill Destination:=Range("F2:F100"), Type:=xlFillFormats
    End With
   
    ' Rydder formater (ikke de betingede)
    With Range("F2:F100")
        .Interior.ColorIndex = xlNone                      ' Baggrundsfarve farve = Ingen
        .Font.ColorIndex = 0                                ' Font farve = sort
        .Borders(xlDiagonalDown).LineStyle = xlNone        ' Borders = Ingen
        .Borders(xlDiagonalUp).LineStyle = xlNone
        .Borders(xlEdgeLeft).LineStyle = xlNone
        .Borders(xlEdgeTop).LineStyle = xlNone
        .Borders(xlEdgeBottom).LineStyle = xlNone
        .Borders(xlEdgeRight).LineStyle = xlNone
        .Borders(xlInsideVertical).LineStyle = xlNone
        .Borders(xlInsideHorizontal).LineStyle = xlNone
    End With
   
End Sub
----------
Avatar billede brilleabe Nybegynder
11. april 2004 - 02:37 #26
nu fjerne den de formater som jeg har i forvejen :-(

Jeg må prøve at lege videre med det i morgen (læs: i dag).

Tak for vedholdenheden indtil nu - kanon.
Avatar billede Slettet bruger
11. april 2004 - 02:42 #27
ok
Avatar billede Slettet bruger
11. april 2004 - 11:53 #28
Ok, problemet er vistnok i AutoFill funktionen, den tager alle formater med.


--------
Public Sub CopyFormats()
   
    Range("F2").Activate
    With ActiveSheet.Range("F2:F100")
        .FormatConditions.Delete
        .FormatConditions.Add Type:=xlExpression, Formula1:="=VLOOKUP(F2;haster;1;FALSE)=F2"
        .FormatConditions(1).Interior.ColorIndex = 45
    End With

End Sub
--------
Avatar billede brilleabe Nybegynder
11. april 2004 - 21:29 #29
Jeg har ændret lidt i mit layout så jeg har nu den betingede formatering 'med' når jeg kopiere ind i arket.

Hvis du smider et svar får du lidt point som tak for indsatsen !
Avatar billede Slettet bruger
11. april 2004 - 22:18 #30
OK, beklager at det ikke virkede som det skulle...
Avatar billede Slettet bruger
11. april 2004 - 22:19 #31
Du kan også vælge at lade spørgsmålet stå åbent indtil der er en anden der kommer med en løsning.
Avatar billede brilleabe Nybegynder
11. april 2004 - 22:31 #32
Nej, jeg lukker det, men jeg har lavet et andet som måske kan give nogle af jeg grå hår ;-)
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