kunde

kunde profiilikuva
Joulu 2024
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

Liittynyt 20v sitten
7 aloitusta · 1377 kommenttia
Uusimmat aloituksetSuosituimmat aloituksetUusimmat kommentit
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
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
jos haluat piilottaa käyttämästäsi taulukosta kaavat niin...
valitse koko taulukko klikkaamalla vasemmassa yläkulmassa olevaa ruutua (sarake ja rivitunnuksien välissä). Klikkaa sitten hiiren oikealla ja avautuvasta valikosta valitse muotoile solut ja edelleen avautuvasta valikosta suojaus. Rujsaa kohta piilota ja OK. Suojaa taulukko salasanalla ja kopioi se sitten uuteen taulukkoon ja poista originelli taulukko ja tallenna. Nyt voit lähettää työkirjan eteenpäin ilman käyttämäsi kaavoja...