11. november 2011 - 15:39Der 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.
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
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)
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
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
Ja - du skal være velkommen (har først set det nu)
Synes godt om
Ny brugerNybegynder
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.