Avatar billede mumsasa Nybegynder
17. december 2007 - 08:18 Der er 6 kommentarer og
1 løsning

Aktiv Userform i Excel. Hvordan kan det gøres?

Hej

Jeg har lavet en Userform i Excel. I denne skal man kunne se alle rækker fra et spreadsheet (ark1) og dernæst vælge en række og kopiere denne til et andet ark (ark2). Alt sammen skal foregå inde i Userformen.

Indtil videre har jeg lavet en stor listbox som er sat til at vise "list1" (det hedder min liste) i "rowsourse". ´Derved kan jeg se alle rækkerne i userformen. Det er første skridt. Ved ikke om det er den rigtige fremgangsmåde.

Nu mangler jeg bare muligheden for at kopier én af rækkerne til et andet ark.

Userformen er bygget, grafisk, op på denne måde:

Først vælges en afdeling
Dernæst vælges den række man ønsker at kopiere
Dernæst vælges den afdeling som man ønsker at kopiere til
Til sidst trykkes på udfør

Hver afdeling skal have deres eget ark.

Hvordan skal koden laves? Nogen der kan hjælpe?

på forhånd tak
Avatar billede supertekst Ekspert
17. december 2007 - 09:48 #1
Ja - evt. send en kopi af filen til: pb@supertekst-it.dk
Avatar billede supertekst Ekspert
17. december 2007 - 10:37 #2
Her er lidt kode i Userformen, som du måske kan anvende - ellers giv signal.

Dim fAfd, tAfd, kRæk
Private Sub CommandButton1_Click()              'Udfør kopiering
Dim fArk, tArk, antalRækker
    Set fArk = ActiveWorkbook.Sheets(fAfd)
    fArk.Select
    fArk.Rows(kRæk).Select
    Selection.Copy
   
    Set tArk = ActiveWorkbook.Sheets(tAfd)
    tArk.Select
    antalRækker = ActiveCell.SpecialCells(xlLastCell).Row
    tArk.Rows(antalRækker + 1).Select
    tArk.Paste
End Sub
Private Sub ListBox1_Click()                    'Fra Afd valgt
    fAfd = Me.ListBox1
    visRækker
End Sub
Private Sub ListBox2_Click()                    'Række valgt
    kRæk = Me.ListBox2.ListIndex + 1
End Sub
Private Sub ListBox3_Click()                    'Til afd. valgt
    tAfd = Me.ListBox3
End Sub
Private Sub UserForm_activate()
    opbygAfd
End Sub
Private Sub opbygAfd()
    For Each sh In ActiveWorkbook.Sheets
        Me.ListBox1.AddItem sh.Name
        Me.ListBox3.AddItem sh.Name
    Next sh
End Sub
Private Sub visRækker()
Dim afd
    afd = Me.ListBox1
    Set fArk = ActiveWorkbook.Sheets(afd)
   
    fArk.Select
    antalRækker = ActiveCell.SpecialCells(xlLastCell).Row
    For r = 1 To antalRækker
        Me.ListBox2.AddItem fArk.Cells(r, 1)
    Next r
End Sub
Avatar billede supertekst Ekspert
18. december 2007 - 14:47 #3
Du får et svar...
Avatar billede supertekst Ekspert
18. december 2007 - 14:47 #4
Det kommer så her
Avatar billede mumsasa Nybegynder
18. december 2007 - 17:51 #5
1000 tak for hjælpen
Avatar billede mumsasa Nybegynder
18. december 2007 - 17:53 #6
skal lige finde ud af hvordan jeg giver point. Er ny på siden
Avatar billede supertekst Ekspert
18. december 2007 - 18:14 #7
Selv tak - og for points...
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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