Avatar billede diernaes Nybegynder
30. januar 2002 - 12:01 Der er 7 kommentarer og
1 løsning

Excel - lav søjle med cases, der går igen i udvalgte søjler

Jeg skal lave en liste over de ord(tekst), der både optræder i søjle A og søjle B og samle dem i søjle C, dvs. at hvis navnet på enheden optræder BÅDE i A og B, skal navnet skrives i søjle C, og ellers undlades (svarer til at lave en kombineret søgning i en database). Der er to problemer i den forbindelse: 1) enhederne står ikke horisontalt overfor hinanden - den ene søjle har 400 enheder, den anden 5200 2)Navnene er ikke altid 100% identisk skrevet - fx. kan der stå "maskine" i den ene søjle og "maskinen" i den anden. Er der nogen der ved, hvordan man grejer den???
På forhånd tusind tak!

Avatar billede rvm Nybegynder
30. januar 2002 - 12:46 #1
Denne makro løse rproblem nr. 1

Sub Find()
'
' Makro1 Makro
' Makro indspillet 30-01-2002 af Richardt Veje Madsen
'

x = 1
antalrækker = 10

For n = 6 To antalrækker

    Cells(n, 1).Select
    værdi = Cells(n, 1).Value
    Selection.Copy
    Columns("B:B").Select
    On Error Resume Next
    If Selection.Find(What:=værdi, After:=ActiveCell, LookIn:=xlValues, _
        LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False).Activate = True Then
       
        If Err Then
            Cells(x, 3).Value = værdi
            x = x + 1
        End If
    End If
Next n

End Sub
Avatar billede rvm Nybegynder
30. januar 2002 - 12:49 #2
lille fejl:

Skift

"antalrækker = 10"

ud med disse to:

ActiveCell.SpecialCells(xlLastCell).Select
antalrækker = ActiveCell.Row
Avatar billede janvogt Praktikant
30. januar 2002 - 12:51 #3
Du kan ikke matche søjle A og B med mindre du kan opstille nogle regler for, hvornår A = B.
Avatar billede diernaes Nybegynder
30. januar 2002 - 13:14 #4
Til rvm: Makroen kører i det uendelige, og opretter en søjle C med data fra søjle A "re-shuffled".

Til janvogt: jeg havde forestillet mig, at man matchede ved fx. at indsætte stjerner (**) - i eksemplet fx. "maskine*"?
Avatar billede rvm Nybegynder
30. januar 2002 - 13:16 #5
Ja - jeg opdagede let lige *S* arbejder på sagen
Avatar billede rvm Nybegynder
30. januar 2002 - 13:30 #6
Nu virker den *S* løser poblem 1 - jeg arbejder vider på problem 2 - har samme problem som janvogt, men hat ænkt at løse det med at sammenligne ord på 5 karakterer (skære resten væk)

Sub Find()
'
' Makro indspillet 30-01-2002 af Richardt Veje Madsen

x = 1

ActiveCell.SpecialCells(xlLastCell).Select
antalrækker = ActiveCell.Row

For n = 1 To antalrækker
   
    If Cells(n, 1) = "" Then
    Else
   
        Cells(n, 1).Select
        værdi = Cells(n, 1).Value
   
        With Range("B:B")
            Set c = .Find(værdi, LookIn:=xlValues)
            If Not c Is Nothing Then
                With Range("C:C")
                    Set d = .Find(værdi, LookIn:=xlValues)
                    If d Is Nothing Then
                            Cells(x, 3).Value = værdi
                            x = x + 1
                    End If
                End With
            End If
        End With

    End If

Next n

End Sub
Avatar billede rvm Nybegynder
30. januar 2002 - 13:45 #7
Nuer der også en lille løsning på problem 2:

ub Find()
'
' Makro indspillet 30-01-2002 af Richardt Veje Madsen

x = 1

ActiveCell.SpecialCells(xlLastCell).Select
antalrækker = ActiveCell.Row

For n = 1 To antalrækker
   
    If Cells(n, 1) = "" Then
    Else
   
        Cells(n, 1).Select
        værdi = Cells(n, 1).Value
        '5 er antallet i strengen det skal være ens (abcde*)
        værdi1 = Left(Cells(n, 1).Value, 5)
        værdi1 = værdi1 & "*"
       
        With Range("B:B")
            Set c = .Find(værdi1, LookIn:=xlValues)
            If Not c Is Nothing Then
                With Range("C:C")
                    Set d = .Find(værdi1, LookIn:=xlValues)
                    If d Is Nothing Then
                            Cells(x, 3).Value = værdi
                            x = x + 1
                    End If
                End With
            End If
        End With

    End If

Next n

End Sub
Avatar billede diernaes Nybegynder
30. januar 2002 - 15:46 #8
Det ser ud til, at den virker! Tusind tak for hjælpen!!
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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