Avatar billede Henrik_B Praktikant
29. marts 2012 - 10:10 Der er 4 kommentarer og
1 løsning

Makro til at sammenligne flere kolonner søges.

Hejsa.

Min opgave er følgende:

Jeg har en række tal i A1 til A10. De sorteres, når jeg trykker på min knap.

Nu vil jeg gerne have det sådan at hvis 2 tal i kolonne A er ens, så skal jeg markere de tilhørende celler i kolonne B, så jeg kan se at jeg skal indtaste yderligere data her, og trykke på knappen igen. Alt dette fungerer fint. Men problemet er at hvis disse 2 tal OGSÅ er ens, skal kolonne C markeres osv. (Max kolonner er lige nu 6 stk.)

Eks:

A
1
2
3  <- Markeres i kolonne B
3  <- Markeres i kolonne B
4
5

Eks 2:

A  B
1
2
3  4  <- Markeres i kolonne C
3  4  <- Markeres i kolonne C
4
5
Avatar billede jonesw Nybegynder
29. marts 2012 - 13:00 #1
Er det ikke bare at gentage din process fra kolonne A til kolonne b?
Avatar billede store-morten Ekspert
30. marts 2012 - 17:16 #2
Måske:
Sub MarkerEns()
Dim Start As Integer, i As Integer
Dim Kol As String
    Kol = InputBox("Hvilken kolonne skal testes?")
   
'Skærmopdatering fra
Application.ScreenUpdating = False
'Ved fejl gå til
On Error GoTo ErrorHandler

'Find sidste udfyldte celle i kolonne
Start = Range(Kol & "65536").End(xlUp).Row
   
    'Kør løkken fra sidste udfyldte celle i kolonne  til række 2
    For i = Start To 2 Step -1

Set c = Range(Kol & i)
If c.Value = c.Offset(1, 0).Value Or c.Value = c.Offset(-1, 0).Value Then
    c.Offset(0, 1) = c.Value & " = Ens data?"
End If
    Next
'Skærmopdatering til
Application.ScreenUpdating = True

Beforeexit:
'Ved fejl sættes
'Skærmopdatering til
Application.ScreenUpdating = True
'C tømmes
Set c = Nothing
'Før Subben forlades
Exit Sub

ErrorHandler:
Resume Beforeexit

End Sub
Avatar billede store-morten Ekspert
01. april 2012 - 08:27 #3
Celler farves i stedet:

Sub MarkerEns()
Dim Start As Integer, i As Integer
Dim Kol As String
    Kol = InputBox("Hvilken kolonne skal testes?")
   
'Skærmopdatering fra
Application.ScreenUpdating = False
'Ved fejl gå til
On Error GoTo ErrorHandler

'Find sidste udfyldte celle i kolonne
Start = Range(Kol & "65536").End(xlUp).Row
   
    'Kør løkken fra sidste udfyldte celle i kolonne  til række 2
    For i = Start To 2 Step -1

Set c = Range(Kol & i)
If c.Value = c.Offset(1, 0).Value Or c.Value = c.Offset(-1, 0).Value Then
    c.Offset(0, 1).Interior.ColorIndex = 6
End If
    Next
'Skærmopdatering til
Application.ScreenUpdating = True

Beforeexit:
'Ved fejl sættes
'Skærmopdatering til
Application.ScreenUpdating = True
'C tømmes
Set c = Nothing
'Før Subben forlades
Exit Sub

ErrorHandler:
Resume Beforeexit

End Sub
Avatar billede Henrik_B Praktikant
24. maj 2012 - 14:20 #4
Alle tiders. Det kunne jeg bruge (har ikke lavet det helt magen til, men noget, der ligner)

Læg et svar, hvis du vil have points !
Avatar billede store-morten Ekspert
24. maj 2012 - 14:31 #5
Lyder godt.
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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