Avatar billede prhan Juniormester
30. august 2013 - 13:40 Der er 1 kommentar og
1 løsning

vba - sammenlægning af tabeller

I en projektmappe har jeg adskellige ark, med hver deres tabel i hvert ark. Tabellerne har ikke samme struktur, men f.eks. [Lokalitetsnr] og [Point - forventet indsats] er identisk for alle tabellerne. Disse kolonner vil jeg gerne have lagt sammen for f.eks. 3 tabeller i en fjerde tabel, som også skal tilføjes en ekstra kolonne med formler.
Denne tabel vil jeg gerne lave et pivotdiagram på.

Jeg har forsøgt mig frem med indspilning af makroer og har nu følgende VBA, som mere eller mindre virker. Jeg kan dog ikke få formlen til sidst til at virke.

Jeg kunne dog godt tænke mig at få lavet denne VBA "rigtigt" og så formlen virker.

Er der nogle der kan hjælpe?

Sub Sammenlaegning_tabeller()

    Range("sammenlaegning1").ClearContents 'RYDDER INDHOLD I TABELLEN
    Range("Tabel_Forespørgsler_til_GISP.accdb4[Lokalitetsnr]").Copy 'INDL. VIDER. UNDERS.
    Sheets("Sammenlaegning").Select
    Range("A2").Select
    Sheets("Sammenlaegning").Paste
    Selection.End(xlDown).Select
    ActiveCell.Offset(1, 0).Select

    Range("Tabel_Forespørgsler_til_GISP.accdb5[Lokalitetsnr]").Copy 'GV VIDER. UNDERS.
    ActiveSheet.Paste
    Selection.End(xlDown).Select
    ActiveCell.Offset(1, 0).Select
   
    Range("Tabel_Forespørgsler_til_GISP.accdb6[Lokalitetsnr]").Copy 'AA VIDER. UNDERS.
    ActiveSheet.Paste

    Range("Tabel_Forespørgsler_til_GISP.accdb4[Point - forventet indsats]").Copy 'INDL. VIDER. UNDERS.
    Range("B2").Select
    ActiveSheet.Paste
    Selection.End(xlDown).Select
    ActiveCell.Offset(1, 0).Select

    Range("Tabel_Forespørgsler_til_GISP.accdb5[Point - forventet indsats]").Copy 'GV VIDER. UNDERS.
    ActiveSheet.Paste
    Selection.End(xlDown).Select
    ActiveCell.Offset(1, 0).Select
   
    Range("Tabel_Forespørgsler_til_GISP.accdb6[Point - forventet indsats]").Copy 'AA VIDER. UNDERS.
    ActiveSheet.Paste
    Range("F3").Select
   
    Range("sammenlaegning1[Indeks]").FormulaR1C1 = _
    "=HVIS(sammenlaegning1[[#This Row],[Point - forventet indsats]]>0,1,0)" 'VIRKER IKKE!
   
   
    ActiveSheet.PivotTables("Pivottabel2").PivotCache.Refresh
   
End Sub
Avatar billede prhan Juniormester
02. september 2013 - 10:11 #1
Dvs. VBA'en skal altså bygges korrekt systematisk op. Én der er god til VBA, må også godt lige smide en kommentar, hvis I mener at det er ok.

Bare glem spørgsmålet med formlen. Det skulle selvfølgelig være på engelsk:
Range("sammenlaegning1[Indeks]").FormulaR1C1 = _
    "=IF(sammenlaegning1[[#This Row],[Point - forventet indsats]]>0,1,0)"
Avatar billede prhan Juniormester
09. september 2013 - 18:53 #2
Lukker
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