Avatar billede mrkr Juniormester
20. marts 2016 - 21:43 Der er 3 kommentarer og
1 løsning

VBA der finder ens tal med modsat fortegn

Jeg har et ark med en masse linjer.

I kolonne E står der tal.
En en linje kan der stå 1500
fem linjer længere ned kan der så stå -1500

Sådanne nogle "sæt" af tal har jeg rigtig mange af.

Kan man få vba tl at finde de tal der går ud med hinanden og flytte tallene fra kolonne E til kolonne F.
Jeg har rigtig mange linjer og kunne godt bruge en kode der fjerner "støjen" for mig.
Avatar billede kim1a Ekspert
21. marts 2016 - 07:37 #1
Der findes løsninger hvor den bruger f.eks. dato og beløb til at afstemme en bankkonto med en posterings-ditto.

Jeg så i et tidligere job en løsning lavet hos et revisionsselskab, men den får man ikke lige ud af dem :-)

Et alternativ kunne være (en smule manuelt i første omgang) at lave alle beløb i posteringskontoen med modsat fortegn (gang med minus 1) og så sortere stigende, så skulle de gerne stå næsten under hinanden.
Avatar billede supertekst Ekspert
21. marts 2016 - 11:08 #2
Const startRæk = 2          'kan justeres

Dim ark As Worksheet
Dim antalRæk As Integer, ræk As Integer, værdi As Double, søgRæk As Integer, fraRæk As Integer
Public Sub plusMinus()
    Application.ScreenUpdating = False
   
    antalRæk = Cells(Rows.Count, "E").End(xlUp).Row
    Set ark = ActiveSheet
   
    For ræk = 2 To antalRæk
        værdi = Range("E" & ræk)
   
        søgRæk = søgværdi(ark, "E" & startRæk & ":E" & antalRæk, værdi * -1)
        If søgRæk > 0 Then
            Range("F" & ræk) = Range("E" & ræk)
            Range("E" & ræk).ClearContents
           
            Range("F" & søgRæk) = Range("E" & søgRæk)
            Range("E" & søgRæk).ClearContents
        End If
    Next ræk
End Sub
Private Function søgværdi(arkNavn, område, id)
Dim c
    With arkNavn.Range(område)
        Set c = .Find(id, LookIn:=xlValues, lookAt:=xlWhole)
       
        If Not c Is Nothing Then
            søgværdi = c.Row
        Else
            søgværdi = 0
        End If
    End With
End Function
Avatar billede mrkr Juniormester
21. marts 2016 - 20:32 #3
Jeps, Supertekst. Den løser mit problem lige som ønsket.
kim1a, tak for input.
Avatar billede supertekst Ekspert
21. marts 2016 - 20:49 #4
ok..
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

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



IT-JOB

Cognizant Technology Solutions Denmark ApS

Graduate - Software Automation Program

NEM IT-Solutions A/S

IT-driftskonsulent

NOVAX A/S

Sales Director

Knud E. Hansen A/S

IT-supporter