Avatar billede kriax Nybegynder
17. december 2007 - 00:09 Der er 4 kommentarer og
1 løsning

Kopiere kolonne fra kopieret ark og indsætte kolonnen i et andet?

Hejsa

Jeg håber der er én der kan hjælpe mig med mit problem.

Jeg har et løn dokument hvor hver medarbejder har et ark hvor han/hun skriver start og slut tid ind, hvorefter time tallet bliver udregnet i en kolonne med en total sum i bunden.

Jeg har brug for at det skal være nemt for enhver at oprette et nyt løn ark, og skal derfor have et ark hvor man i en celle indtaster sit og hvor der vedsiden af er en knap der kan trykkes på med musen.

Knappen skal herefter udføre følgende:

-Kopiere et "blankt" lønark. 

-Ændre det nye ark navn til det navn der blev skrevet i cellen.

-Kopiere kolonnen med total timetallet i det nyoprettet ark, og indsætter det i et "samlet" ark hvor alle total kolonnerne er fra de andre løn ark.

-Over kolonnen i "samlet" arket skal den indsætte navnet på arket hvor kolonnen kom fra(medarbejderens navn)


Jeg håber det er til at forstå :-)


Mvh. Kristian
Avatar billede kriax Nybegynder
17. december 2007 - 00:10 #1
*indsætter sit navn*
Avatar billede supertekst Ekspert
17. december 2007 - 00:41 #2
Ja - det er forståeligt. Hvis du har filerne og sender dem til: pb@supertekst-it - så skal jeg prøve at skrive VBA-koden.
Avatar billede supertekst Ekspert
17. december 2007 - 09:50 #3
Model er udarbejdet - hvis du senderen mail - returneres denne...
Avatar billede kriax Nybegynder
18. december 2007 - 01:15 #4
Ok tak. Jeg prøver at sende dem tirsdag.
Avatar billede supertekst Ekspert
03. januar 2008 - 23:12 #5
Foreløbig forslag:

Dim ark
Private Sub CommandButton1_Click()
    If Cells(1, 2) <> "" Then
        navn = Cells(1, 2)
        antalark = ActiveWorkbook.Sheets.Count
        Cells(1, 2) = ""
       
Rem kontroller at ark ikke findes i forvejen
        If findesArk(navn) = False Then
       
Rem Opret nyt ark med medarbejder-navn
            ActiveWorkbook.Sheets.Add After:=Sheets(antalark)
            Sheets(antalark + 1).Name = navn
       
Rem kopier LønMaster til nyt ark
            Set ark = ActiveWorkbook.Sheets("LønMaster")
            ark.Select
            ark.Range("A1:D24").Select
            Selection.Copy
           
            ActiveWorkbook.Sheets(antalark + 1).Activate
            ActiveSheet.Cells(1, 1).Select
            ActiveSheet.Paste
            Application.CutCopyMode = False
            ActiveSheet.Range("A2").Select
           
Rem kopier ny medarbejder til Samlet
            overførTilSamlet antalark + 1, navn
        Else
            MsgBox ("Arket " + navn + " findes i forvejen!")
        End If
    End If
End Sub
Private Function findesArk(navn)
    For Each sh In ActiveWorkbook.Sheets
        If navn = sh.Name Then
            findesArk = True
            Exit Function
        End If
    Next sh
    findesArk = False
End Function
Private Sub overførTilSamlet(nytArkNr, navn)
Dim fArk, tArk
    Set fArk = ActiveWorkbook.Sheets(nytArkNr)
    fArk.Select
    fArk.Range("D2:D24").Select
    Selection.Copy

    Set tilark = ActiveWorkbook.Sheets("Samlet")
    tilark.Select

Rem beregn næste kolonne
    nykol = ActiveCell.SpecialCells(xlLastCell).Column

Rem indsætnavn
    tilark.Cells(1, nykol + 1) = navn
   
Rem indsæt total-kolonne
    tilark.Cells(2, nykol + 1).Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    tilark.Cells(2, nykol + 1).Select
End Sub
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