Avatar billede Dubai Nybegynder
14. juni 2012 - 12:50

Simpel makro i Open office Calc (Mac OSX 10.7.4)

Jeg ønsker at sammenligne to kolonner (A) og (B).

Værdierne i de to kolonner er typisk at den ene kolonne (A) indeholder alle værdier (min item master), og den anden indeholder en delmængde - feks. sales history last 6 months med flere kolonner (B til F).

ved sammenligningen skal A og B sammenlignes og værdierne fra (B) placere sig så de står i samme række som tilsvarer cellerne i item masteren. Cellerne i C, D, E og F skal følge med (B).

eksempel efter "run":

A        B      C    D    E    F
ABE  ABE  4      5    5    6
ABF
ABG  ABG  3      6    0    5
ABH
ABI    ABI  17    21    4    7
ABJ
ABK
ABL    ABL  2      5    0    8

Jeg er ikke nogen haj til makro programmering men lidt basic VBA har jeg brugt for mange år siden, men det er lidt anderledes på Open office.
Jeg forestiller mig at bruge insert af tomme celler hvis der ikke er match mellem celle A og B.

Jeg fandt (desværre husker jeg ikke oprindelsen) denne kode, som virker i Excel, men ikke i OO og som iøvrigt kun er for de to kolonner (A) og (B):

Option Explicit
Sub Isolate()
Dim lastA, lastB, shortCol, rw As Integer
'Determine short column so we know when to stop
  lastA = WorksheetFunction.CountA(Range("A:A"))
  lastB = WorksheetFunction.CountA(Range("B:B"))
      If lastA > lastB Then _
        shortCol = 2 Else shortCol = 1
'Set First Check Row
  rw = 1
nxtChk:
'Check Column A against Column B, Row by Row
'Insert cell at non-matching data
If Cells(rw, 1) <> "" And Cells(rw, 1) < Cells(rw, 2) Then
    Cells(rw, 2).Insert shift:=xlDown
  Else
    If Cells(rw, 2) <> "" And Cells(rw, 1) > Cells(rw, 2) Then
      Cells(rw, 1).Insert shift:=xlDown
    End If
End If
'If there is nothing left to check in the Short Column, we're done
  If Cells(Rows.Count, shortCol).End(xlUp).Row + 1 = rw Then Exit Sub
'If not, increment Row counter and loop
  rw = rw + 1
GoTo nxtChk
End Sub


På forhånd 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
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