Avatar billede martinsorensen Nybegynder
15. oktober 2008 - 13:14 Der er 8 kommentarer

Select Where syntax

Hej.

Hvis jeg vil skrive

Select Range("I20") where Selection.Value = "" And Selection.Interior.ColorIndex = 34

Selection.EntireRow.Insert

Hvordan gøres dette i VBA? Jeg tænker på syntax. :o)

Mvh
Avatar billede kabbak Professor
15. oktober 2008 - 15:17 #1
if Range("I20") = "" And .ColorIndex = 34  = "" And Range("I20").Interior.ColorIndex = 34
Avatar billede kabbak Professor
15. oktober 2008 - 15:20 #2
If Range("I20") = "" And Range("I20").Interior.ColorIndex = 34 Then
Range("I20").Insert Shift:=xlDown
End If

skulle det være :-;-))
Avatar billede martinsorensen Nybegynder
15. oktober 2008 - 15:30 #3
tak, hvad hvis jeg ikke kender Range? men bare vil søge hele sheetet igennem for om de er tomme eller har en baggrundsfarve. Kopiere dem, og ligge dem længere ned på siden?
Avatar billede kabbak Professor
15. oktober 2008 - 17:12 #4
Denne finder de celler i I kolonnen, der ingen værdi hat og hvor baggrundsfarven er 34.
hvis det er opfyldt, indsætter den en tom linje.

Public Sub test()
    Dim RW As Long, I As Long
    RW = ActiveSheet.UsedRange.Rows.Count ' tæller antal brugte rækker i arket
    For I = RW To 1 Step -1
        If Cells(I, "I") = "" And Cells(I, "I").Interior.ColorIndex = 34 Then
            Rows(Cells(I, "I").Row).Insert Shift:=xlDown
        End If
    Next
End Sub


Du skriver videre
"Kopiere dem, og ligge dem længere ned på siden?"

hvad mener du ??
Avatar billede martinsorensen Nybegynder
26. oktober 2008 - 23:51 #5
F.eks Jeg har et design/opsætning, hvori jeg gerne vil have nogle linjer kopieret ind i. F.eks vil jeg gerne have kopieret alle de linjer/rows hvor der er grøn baggrund i colum B, ind efter alle de linjer hvor baggrunden er gul. For alle linjer i sheetet.
Avatar billede kabbak Professor
27. oktober 2008 - 18:32 #6
Her er en funktion, som læser baggrundsfarven, sæt den i en tom kolonne og sorter data på den.

Public Function ColorNumber(rColor As Range) As Long
    Application.Volatile
  ColorNumber = rColor.Interior.ColorIndex
End Function
Avatar billede martinsorensen Nybegynder
30. oktober 2008 - 16:59 #7
Super... Kan du komme med et hurtigt eksempel? For jeg er ikke super.
Avatar billede kabbak Professor
30. oktober 2008 - 18:38 #8
Du sætter koden ind i et modul, ikke i et ark eller ThisWorkbook modul.

Vi siger du har farver i I kolonnen, så skriver du sådan i den tomme kolonne og trækker den nedad.

=ColorNumber(I2)

Her er vist den tomme kolonne række 2
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
Kurser inden for grundlæggende programmering

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