Avatar billede tvc Seniormester
09. februar 2006 - 14:26 Der er 3 kommentarer og
1 løsning

Point til supertekst

Tillæg til spørgsmål http://www.eksperten.dk/spm/686172

Dette er løsningen hvor der også er lagt følgende 3. funktioner ind:

1. Mulighed for at bestemme antallet af budgetposter der skal overføres (styres via Data sheet).

2. Mulighed for at sammenligne alle ark i de to filer (regnskab og Budget).

3. Mulighed for at styre filnavn for budget via Data sheet.

Den endelige løsning:

Dim filSti
Dim måned, bFil As Object, budget, rBudKol, rTabel(), bTabel(), antalBceller, filFejlFlag As Boolean
Dim budgetFilNavn As String
Const arkNot = "ConsolidatedTotalEnd"
Private Sub hentfilSti()
    filSti = ActiveWorkbook.Path
    If Right(filSti, 1) <> "\" Then
        filSti = filSti + "\"                      'tilføjer evt. \
    End If
End Sub
Sub worksheet_change(ByVal target As Excel.Range)  'aflæser måned ved ændring
    If Not Intersect(target, Range("D1")) Is Nothing Then

Rem Hent kolonne, hvor budget skal indsættes i Regnskab
        rBudKol = Asc(UCase(Cells(6, 2))) - 64
       
Rem Antal celler for opdatering af budgettal
        antalBceller = Cells(3, 2)
       
        ReDim rTabel(antalBceller)
        ReDim bTabel(antalBceller)
       
Rem Opret tabeller vedr budgettal - begynder i kolonne B
        For f = 2 To antalBceller + 1
            rTabel(f - 2) = Cells(4, f)
            bTabel(f - 2) = Cells(5, f)
        Next f

Rem Hent navn på budgetfil
        budgetFilNavn = Cells(8, 2)
       
Rem Hent aktuelle sti
        hentfilSti
       
Rem Optæl budget indtil måned
        måned = Cells(1, 4)
       
        If IsNumeric(måned) = True And måned >= 1 And måned <= 12 Then
            åbnBudget
           
            If filFejlFlag = True Then
                MsgBox ("Budgetfil: " + budgetFilNavn + " kan ikke åbnes")
                Exit Sub
            End If
        Else
            MsgBox ("Valgte måned ikke korrekt!")
            Cells(1, 4).Activate
        End If
    End If
End Sub
Private Sub åbnBudget()
Dim ark, arknavn, række, kolonne, budgetSum
    On Error GoTo filfejl
   
    Set bFil = CreateObject("Excel.application")
    With bFil
        .Visible = True
        .Workbooks.Open (filSti + budgetFilNavn)
       
Rem behandling af hvert ark i budget
        For Each ark In .ActiveWorkbook.Sheets
            arknavn = ark.Name
           
Rem Test om det et relevant ark
            If InStr(arkNot, arknavn) = 0 Then
                .ActiveWorkbook.Sheets(arknavn).Activate
               
                For række = 1 To antalBceller
                    budgetSum = 0
                    For kolonne = 2 To måned + 1
                        budgetSum = budgetSum + .Cells(bTabel(række - 1), kolonne)
                    Next kolonne
Rem indsæt rækketotal i regnskab i kolonne 15 (årsbudget)
                    ActiveWorkbook.Sheets(arknavn).Cells(rTabel(række - 1), rBudKol) = budgetSum
                Next række
            End If
        Next ark
    End With
    bFil.Quit
    Set bFil = Nothing
    filFejlFlag = False
    Exit Sub
   
filfejl:
    filFejlFlag = True
    Set bFil = Nothing
End Sub
Avatar billede jih Nybegynder
09. februar 2006 - 14:36 #1
citat fra http://www.eksperten.dk/regler.phtml

Det er ikke tilladt at udlove mere end 200 point for et spørgsmål ved at dele det over flere spørgsmål.

luk venligst dette spørgsmål
Avatar billede tvc Seniormester
09. februar 2006 - 20:56 #2
-> jih

Der er ikke tale om udlovning af mere end 200 point for et spørgsmål.

supertekst kom med løsningen til mit spørgsmål http://www.eksperten.dk/spm/686172. Løsningen afhjalp det problem som jeg har skitseret i spørgsmålet, hvilket efter reglerne udløser point til den som er kommet med løsningen først.

Dette spørgsmål er et tillægsspørgsmål som kunne være stillet uden ref. til det andet spørgsmål (jeg kunne have klippet linjerne ud og have spg. til hvordan man kunne rette dem til).

Jeg skal selvfølgelig en anden gang lægge spørgsmålet ind inden svaret er givet, men tiden var der desværre ikke til det i dag - beklager.

Der er dermed ikke tale om en omgåelse af reglerne, håber du kan leve med dette.
Avatar billede jih Nybegynder
10. februar 2006 - 09:48 #3
jojo .. jeg kunne bare ikke se et spørgsmål ud fra dette indlæg..

quote:

Dette er løsningen hvor der også er lagt følgende 3. funktioner ind:

1. Mulighed for at bestemme antallet af budgetposter der skal overføres (styres via Data sheet).

2. Mulighed for at sammenligne alle ark i de to filer (regnskab og Budget).

3. Mulighed for at styre filnavn for budget via Data sheet.

Den endelige løsning:

:endquote

Det syntes jeg bare lød som et lille referat af hvad der var sket i det andet spørgsmål..
Avatar billede supertekst Ekspert
10. februar 2006 - 11:17 #4
Tak og ønsker alle en god week-end
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