Avatar billede magmat Nybegynder
27. oktober 2007 - 10:37 Der er 8 kommentarer og
1 løsning

teste om kolonne F er tom i aktiv linje

Jeg vil meget gerne have en test på at kolonne F er tom i den aktive linje + test om kolonne F er tom i linjen ovenfor.

JEg skal bruge den sammen med nedenstående makro.
Hvis kolonne F er tom i aktive linje + den ovenfor skal den køre macroen nedenfor.
Ellers skal den exit sub.


Sub Ombyt()

    ActiveCell.Rows("1:1").EntireRow.Select
    Selection.Insert Shift:=xlDown
    ActiveCell.Offset(2, 0).Range("A1:D1").Select
    Selection.Cut Destination:=ActiveCell.Offset(-2, 0).Range("A1:D1")
    ActiveCell.Rows("1:1").EntireRow.Select
    Selection.Delete Shift:=xlUp
    ActiveCell.Offset(-1, 0).Range("A1").Select
   
End Sub
Avatar billede supertekst Ekspert
27. oktober 2007 - 14:00 #1
Sub Ombyt()
    aktuelleRække = ActiveCell.Row
    If Cells(aktuelleRække, 6) = "" And Cells(aktuelleRække - 1) = "" Then

        ActiveCell.Rows("1:1").EntireRow.Select
        Selection.Insert Shift:=xlDown
        ActiveCell.Offset(2, 0).Range("A1:D1").Select
        Selection.Cut Destination:=ActiveCell.Offset(-2, 0).Range("A1:D1")
        ActiveCell.Rows("1:1").EntireRow.Select
        Selection.Delete Shift:=xlUp
        ActiveCell.Offset(-1, 0).Range("A1").Select
    Else
        Exit Sub
    End If
End Sub

Hvad hvis aktuelle række = 1?
Avatar billede kabbak Professor
27. oktober 2007 - 14:05 #2
du manglede vist  et ,6

If Cells(aktuelleRække, 6) = "" And Cells(aktuelleRække - 1,6) = "" Then
Avatar billede supertekst Ekspert
27. oktober 2007 - 14:16 #3
Korrekt - tak for det
Avatar billede magmat Nybegynder
27. oktober 2007 - 14:53 #4
da første linje er en overskrift, skal den ikke virke i denne linje. altså gerne exit sub
Avatar billede magmat Nybegynder
27. oktober 2007 - 17:28 #5
jeg har lavet en genvejstast til koden, så jeg bare skal bruge ctrl + B

Men dette skal kun virke i ark2. I andre ark må den ikke.
jeg prøvede med at lave den til en private sub i det enkelte ark, men så ryger muligheden for at lave genvejstasten.

så jeg tænkte på om man ikke kunne starte med:

if activesheet = ark2 then

Men jeg kan ikke få det til at virke.
Er der en anden smart løsning til dette problem.
Avatar billede magmat Nybegynder
27. oktober 2007 - 17:29 #6
udover, ovenstående virker koden lige som den skal, efter kabbaks indskydelse
Avatar billede supertekst Ekspert
27. oktober 2007 - 23:55 #7
Sub Ombyt()
    If LCase(ActiveSheet.Name) = "ark2" Then
        aktuellerække = ActiveCell.Row
        If Cells(aktuellerække, 6) = "" And Cells(aktuellerække - 1, 6) = "" And aktuellerække > 1 Then
            ActiveCell.Rows("1:1").EntireRow.Select
            Selection.Insert Shift:=xlDown
            ActiveCell.Offset(2, 0).Range("A1:D1").Select
            Selection.Cut Destination:=ActiveCell.Offset(-2, 0).Range("A1:D1")
            ActiveCell.Rows("1:1").EntireRow.Select
            Selection.Delete Shift:=xlUp
            ActiveCell.Offset(-1, 0).Range("A1").Select
        Else
            Exit Sub
        End If
    Else
        Exit Sub
    End If
End Sub
Avatar billede magmat Nybegynder
28. oktober 2007 - 11:52 #8
jep, nu virker den lige som den skal.
skriver du et svar?

og så... tak for indsatsen
Avatar billede supertekst Ekspert
28. oktober 2007 - 12:04 #9
Selv tak -
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
Stort udvalg af Excel kurser til alle niveauer og jobfunktioner

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





White paper
Sæt professionel døgnvagt på din it-infrastruktur