Avatar billede petert Forsker
24. januar 2007 - 10:02 Der er 9 kommentarer og
1 løsning

Hjælp til modificere makro

Jeg har følgende makro i ark1 der filtrerer posteringer jeg ønsker at udbygge.
Public Sub FiltreringAfPosteringer()

  ' Bemærk: Nedenstående er konstanter, og rutinen
  ' kræver derfor at data er placeret et konkret sted
  Const BeløbsKolonne As String = "E"
  Const StartRække As Integer = 1
  Const Regneark As String = "Ark1"
 
  ' Find sidste række
  Sheets(Regneark).Select
  Dim SlutRække As Integer
  SlutRække = Range(BeløbsKolonne & StartRække) _
  .CurrentRegion.Rows.Count + StartRække - 1
 
  ' Slet tidligere overstregninger
  Range(BeløbsKolonne & StartRække). _
  CurrentRegion.Font.Strikethrough = False
 
  Dim i As Integer, j As Integer
  Dim DebetBeløb As Double, KreditBeløb As Double
 
  ' Løb beløbskolonnen igennem fra start til slut
  For i = StartRække + 1 To SlutRække
    ' Gem beløb
    DebetBeløb = Range(BeløbsKolonne & i).Value
    ' Hvis det er et debetbeløb
    If DebetBeløb > 0 Then
      ' Løb beløbskolonnen igennem en gang til og
      ' led efter kreditbeløb
      For j = StartRække + 1 To SlutRække
        KreditBeløb = Range(BeløbsKolonne & j).Value
        If KreditBeløb < 0 Then
          ' Hvis debetbeløb og kreditbeløb er ens (+/-)
          ' og kreditbeløbet ikke tidligere er overstreget
         
          If DebetBeløb = KreditBeløb * -1 And _
          Not Range(BeløbsKolonne & j).Font.Strikethrough Then
            ' Overstreg både debet- og kreditbeløb
            ' og hop ud af løkke
            Range(BeløbsKolonne & i).Font.Strikethrough = True
            Range(BeløbsKolonne & j).Font.Strikethrough = True
            Exit For
          End If
         
        End If
      Next
    End If
  Next

End Sub

Kan man ændre så den kun udligner hvis teksten i kolonne D er ens.
I kolonne D står en forkortelse af valutaer EUR,NOK,DKK,GPB
Jeg kan sende et ark så man kan se hvad jeg mener.
MVH
Petert
Avatar billede mrjh Novice
24. januar 2007 - 19:46 #1
Prøv at udskifte med denne. Det er ikke testet, så husk at gemme inden du afprøver det.

...........
If KreditBeløb < 0 And _
Range("D" & i).Value = Range("D" & j).Value Then
..........
Avatar billede petert Forsker
24. januar 2007 - 19:59 #2
Jeg er ikke ret skrap til makroer. Skal hele min udskiftes men din. Eller skal jeg sætte din ind et sted i min??
Avatar billede mrjh Novice
24. januar 2007 - 20:26 #3
Udskift denne del af koden:

If KreditBeløb < 0 Then

med ovenstående kodestump
Avatar billede petert Forsker
24. januar 2007 - 22:38 #4
Virker perfekt.Det er super. Jeg har et tillægs spørgsmål.I kolonnen til højre (F) er beløbene i danske kr. Hvordan kan man lave en saldo fordelt på hver valuta på de beløb der ikke er udlignet(efter man har kørt makroen). jeg har en prøve i et ark som viser hvad jeg mener, som jeg kan sende på mail, hvis jeg får en mail adresse på ft@3060.dk
MVH
Petert
Avatar billede mrjh Novice
24. januar 2007 - 23:41 #5
Her et lille eks. som løber D:F igennem og returnere resultatet i A1:B4


Sub ValutaSaldi()

valuta = Array("EUR", "DKK", "NOK", "GBP")

ReDim valutasum(UBound(valuta), 1)
rækkeslut = Range("D1").CurrentRegion.Rows.Count

For I = 0 To UBound(valuta)
    For Each cell In Range("D1:D" & rækkeslut)
        If cell.Value = valuta(I) And _
        Not cell.Offset(0, 1).Font.Strikethrough Then
            total = total + cell.Offset(, 2).Value
        End If
    Next cell
    valutasum(I, 0) = valuta(I)
    valutasum(I, 1) = total
    total = 0
Next I

Range("A1").Resize(I, 1) = valutasum

End Sub
Avatar billede petert Forsker
25. januar 2007 - 07:57 #6
Kan du ændre den så saldoen kommer i I2,I3,I4,I5 for ("EUR", "DKK", "NOK", "GBP")
Skal jeg sætte din kode ind som en makro??
Hvis jeg sender et ark til dig kan du så indsætte så det bliver korrekt.??
MVH
Petert
Avatar billede mrjh Novice
25. januar 2007 - 08:48 #7
Jeps koden sættes ind som makro under ark modulet.
Ret den sidste linje til
Range("H1").Resize(I, 1) = valutasum
Valuta sættes ind i H1:H4 og sum sættes ind i I1:I4. Tilret den evt. selv
Avatar billede petert Forsker
25. januar 2007 - 10:09 #8
Hej mrjh du er som sendt fra himlen, det virker. Men kan vi lave nogle små justeringer.
Kan du ændre på koden således at saldo som jeg nu har i I2 til I5 kommer i J2 til j5.
Og at man så får saldoen i valuta beløbet (den der ikke er udlignet)i I2 til I5.
en anden ting jeg mangler er.
Når jeg henter filen jeg bearbejder viser den fokert i kolonne F med hensyn til alle de beløb i E kolonnen der er - beløb vises som + beløb, men alle de beløb i E kolonnen der er + beløb også vises som + beløb.
Kan man lave det sådan at hvis tallet i E er -(minus) skal Tallet også være -(minus)i F. i samme række??
MVH
Petert
Avatar billede petert Forsker
21. februar 2007 - 10:03 #9
OK send et svar. mange tak
/petert
Avatar billede petert Forsker
26. marts 2007 - 10:24 #10
Jeg lukker dette spørgsmål
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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