Avatar billede Simonjulandreasen Nybegynder
11. november 2011 - 15:39 Der er 6 kommentarer og
1 løsning

formatering af celler i mindre database

Kære eksperter

Jeg er ved at lave et tidsstudie for en virksomhed gennem min uddannelse på århus universitet. Dette tidsstudie er forholdsvis 2500x15 celler derfor skal jeg have lavet en formatering af nogle celler så det sker automatisk da det ville tage meget tid at gøre manuelt. Jeg kommer dog til kort når jeg skal lave en formel som kan tilpasse sig mit regneark. Derfor skal jeg have hjælp til dette i første omgang er det blot to tider der skal trækkes fra hinanden men problemet er så at de mange tider ikke kommer med et bestemt interval i regnearket. Derfor kan jeg ikke blot trække triderne fra hinanden også trække formlem gennem regnearket. Søger derfor en der kan hjælpe mig med den rette opsætning.

Gerene pr mail, skype eller telefon så i kan se hvad jeg arbejder med.


MVH
Simon Jul Andreasen
Avatar billede Slettet bruger
11. november 2011 - 16:57 #1
Skal gerne forsøge at hjælpe.
hans.knudsensnabelamail.tele.dk
Avatar billede boro23 Forsker
11. november 2011 - 19:32 #2
Er dit regneark et tidsstudie der skal data behandles eller et regneark der kan registrere tidsstudie data? Er tidsstudiet i 100 dele eller ttu? Arbejder selv med tidsstudier til hverdag, måske jeg kan være behjælpelig med et par tips og tricks
Avatar billede supertekst Ekspert
14. november 2011 - 23:23 #3
Const startRæk = 263                    'torsdag

Dim antalRæk As Long, ræk As Long, slutRæk
Dim kolA, kolE, kolD As Byte, kolF, kolG
Dim formel As String
Public Sub justerSkæreplaner()
On Error GoTo fejl

    Application.ScreenUpdating = False
Rem beregn sidste række
    antalRæk = ActiveCell.SpecialCells(xlLastCell).Row
   
Rem traverser rækker
    For ræk = startRæk To antalRæk
        kolC = Range("C" & ræk).Value
        kolE = Range("E" & ræk).Value
        kolD = findAntalEværdier(ræk)
       
        If Range("B" & ræk).Value <> "" Then
            Range("D" & ræk).Value = kolD
            slutRæk = ræk + kolD - 1
            formel = "=E" & CStr(slutRæk) & "- C" & CStr(ræk)
            Range("F" & ræk).Formula = formel
           
    Rem check om fejl
            If InStr(Range("F" & ræk), "-") = 1 Then
                Range("F" & ræk).Value = "Ugyldig tid"
            End If
           
    Rem flet celler hvis mere end 1
            If kolD > 1 Then
                Range("C" & ræk & ":C" & slutRæk).Select
                Selection.MergeCells = True
                Selection.VerticalAlignment = xlCenter
           
                Range("D" & ræk & ":D" & slutRæk).Select
                Selection.MergeCells = True
                Selection.VerticalAlignment = xlCenter
   
                Range("F" & ræk & ":F" & slutRæk).Select
                Selection.MergeCells = True
            End If
        Else
            kolD = 1
           
        End If
       
        AfsætRammestreger "B" & CStr(ræk) & ":V" & CStr(slutRæk)
       
Rem juster næste række, der skal behandles
        ræk = ræk + kolD - 1
    Next ræk
   
    Application.ScreenUpdating = True
   
    MsgBox "Justering afsluttet"
    Exit Sub
   
fejl:
    Stop
    Resume Next
End Sub
Private Function findAntalEværdier(ræk As Long)
Dim r As Long, antal As Long, flag As Boolean
    flag = False
    antal = 0
   
    For r = ræk To antalRæk
        If Range("C" & r).Value <> "" Then
            If flag = True Then
                findAntalEværdier = antal
                Exit Function
            End If
            antal = antal + 1
            flag = True
        Else
            antal = antal + 1
        End If
    Next r
   
    findAntalEværdier = antal
End Function
Private Sub AfsætRammestreger(område)
    Range(område).Select
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideVertical)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
End Sub
Avatar billede Simonjulandreasen Nybegynder
15. november 2011 - 09:35 #4
1000 tak for hjælpen. Det har virkeligt betydet meget og gjort min arbejdsprocess meget nemmere :)
Avatar billede supertekst Ekspert
15. november 2011 - 09:37 #5
Selv tak - held og lykke med det...
Avatar billede Simonjulandreasen Nybegynder
15. november 2011 - 11:31 #6
Må jeg lave lidt reklame for din virksomhed i mit projekt ? hvor jeg refere til din hjemmeside.
Avatar billede supertekst Ekspert
14. marts 2012 - 17:43 #7
Ja - du skal være velkommen (har først set det nu)
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