Vapaa kuvaus

Isaan Rules WFF CCC If you walked away smiling-then for you the price was right Keep Exceling Suosikkibändit/artistit: Queen, Rammstein, genesis, Bruce Bringsteen, Kino, Mandref Mann Earth band Who Lempikirjat: ohjelmointi... Suosikkipalstat Suomi24 Keskusteluissa: EXCEL, Kivitalot, EPS En pidä: pakkanen ja loskakelit Ruoka & juoma: loimulohi ja valkkari Linkit: http://www.kundepuu.com, Khorat Koulutus: --- Ammatti: Tiede/teknologia Työskentelen: freelancer Ase tai siviilipalvelus: yliluutnantti Siviilisääty: Varattu Lapset: --- Hakusanat: Thaimaa, korat, Excel, VBA, ACAD, CNC, Polyurea, EPS, MgO elementti

Aloituksia

7

Kommenttia

1377

  1. ei oo aikaa enempää kun reissua pukkaa...
    poista kaavat N sarakkeesta ja lisää se koodissa oamakaavasi kohtaan...

    jos ei onnaa niin viikon päästä palailen asiaan

    väri on 15 =harmaa, muuta oikeaksi

    taulukon moduuliin...

    Option Explicit

    Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("B:B")) Is Nothing Then
    If Target.Offset(0, 12).Interior.ColorIndex = 15 Then
    Target.Offset(0, 12) = ""
    Else
    Target.Offset(0, 12).Formula = "omakaavasi tähän"
    End If
    End If
    End Sub

    Keep EXCELing
    @Kunde
  2. löyinkin sen hetimiten, joten tossapa korjattuna nyt ISO standardin mukaiseksi...

    Option Explicit

    Sub Teetaulukko()
    Dim vika As Long
    Dim solu As Range
    Dim viikko As Long
    With Worksheets("Koonti")
    .Activate
    .Cells = ""
    .Range("B1") = "viikko:"
    .Range("B2") = "klo"
    .Range("C1").Formula = "1"
    LisääSarjat Range("C1"), 1, 52
    LisääSarjat2 Range("A3")
    End With
    Worksheets("Taul1").Activate
    vika = Range("A65536").End(xlUp).Row
    For Each solu In Range("A3:A" & vika)
    viikko = ViikkoISO(CDate(solu))
    Worksheets("Koonti").Range(UCase(Format(solu, "dddd"))).Cells(Format(solu, "hh") + 1, viikko + 2) = solu.Offset(0, 1)
    Next
    Worksheets("Koonti").Cells.EntireColumn.AutoFit
    End Sub

    Sub LisääSarjat(solu As Range, Aloitus As Long, Määrä As Long)
    With Worksheets("Koonti")
    solu.Formula = Aloitus
    solu.AutoFill Destination:=Range(solu.Address & ":" & solu.Offset(0, Määrä).Address), Type:=xlFillSeries
    End With
    End Sub

    Sub LisääSarjat2(solu As Range)
    Dim i As Long
    With Worksheets("Koonti")
    solu.Select
    For i = 1 To 7
    ActiveCell = UCase(WeekdayName(i))
    ActiveCell.Offset(0, 1).Formula = "0"
    ActiveCell.Offset(0, 1).AutoFill Destination:=Range(ActiveCell.Offset(0, 1).Address & ":" & ActiveCell.Offset(23, 1).Address), Type:=xlFillSeries
    ActiveWorkbook.Names.Add Name:=ActiveCell, RefersTo:=Range(ActiveCell.Address & ":" & ActiveCell.Offset(23, 54).Address)
    ActiveCell.Offset(26, 0).Select
    Next
    End With
    End Sub

    Public Function ViikkoISO(Päiväys As Date) As Long
    Dim D As Date
    D = DateSerial(Year(Päiväys - Weekday(Päiväys - 1) + 4), 1, 3)
    ViikkoISO = Int((Päiväys - D + Weekday(D) + 5) / 7)
    End Function

    Keep EXCELing
    @Kunde
  3. aika cool...

    lisää taulukko Koonti (oishan sen voinut koodillakin hoitaa, mutta pikaisesti näin nyt- nimeä sopivaksi tarvittaessa)

    jos enemmän tyhjiä rivejä tartte niin muuta lukua isommaksi
    ActiveCell.Offset(26, 0).Select

    moduuliin...

    Option Explicit

    Sub Teetaulukko()
    Dim vika As Long
    Dim solu As Range
    With Worksheets("Koonti")
    .Activate
    .Cells = ""
    .Range("B1") = "viikko:"
    .Range("B2") = "klo"
    .Range("C1").Formula = "1"
    LisääSarjat Range("C1"), 1, 52
    LisääSarjat2 Range("A3")
    End With
    Worksheets("Taul1").Activate
    vika = Range("A65536").End(xlUp).Row
    For Each solu In Range("A3:A" & vika)
    Worksheets("Koonti").Range(UCase(Format(solu, "dddd"))).Cells(Format(solu, "hh") + 1, Format(solu, "ww") + 2) = solu.Offset(0, 1)
    Next
    Worksheets("Koonti").Cells.EntireColumn.AutoFit
    End Sub

    Sub LisääSarjat(solu As Range, Aloitus As Long, Määrä As Long)
    With Worksheets("Koonti")
    solu.Formula = Aloitus
    solu.AutoFill Destination:=Range(solu.Address & ":" & solu.Offset(0, Määrä).Address), Type:=xlFillSeries
    End With
    End Sub

    Sub LisääSarjat2(solu As Range)
    Dim i As Long
    With Worksheets("Koonti")
    solu.Select
    For i = 1 To 7
    ActiveCell = UCase(WeekdayName(i))
    ActiveCell.Offset(0, 1).Formula = "0"
    ActiveCell.Offset(0, 1).AutoFill Destination:=Range(ActiveCell.Offset(0, 1).Address & ":" & ActiveCell.Offset(23, 1).Address), Type:=xlFillSeries
    ActiveWorkbook.Names.Add Name:=ActiveCell, RefersTo:=Range(ActiveCell.Address & ":" & ActiveCell.Offset(23, 54).Address)
    ActiveCell.Offset(26, 0).Select
    Next
    End With
    End Sub

    Keep EXCELing
    @Kunde
  4. jos haluat hieman erilaisia vaihtoehttoja kopiointiin/siirtoon, niin valitse alue ja klikkaa reunuksen päällä hiiren oikealla ja raahaa oikean paikkaan ja vapauta hiiren napin painallus ja avautuvassa valikossa eri vaihtoehtoja....