js日曆考勤表代碼,日曆考勤表怎麼弄的

本文目錄一覽:

考勤表上面代碼代表什麼意思

在考勤表中,具體的符號分表代表的意思如下:

出勤(√)、曠工(X)、正休(◆)、事假◇、出差(▼)、換休(▽)、喪假(●)、產假(○)、病假(※)婚假(◎)

sql中使用兩個join後出現了每行記錄重複大約九次的情況

select 11月考勤表.name as 姓名,

員工表.card as 卡號,

11月考勤表.bmmc as 部門,

11月考勤表.skrq as 刷卡日期,

11月日曆.weeks as 星期,

11月考勤表.sksj as 刷卡時間

into monthdata

from 11月考勤表 inner join 11月日曆 on kqrq=skrq join 員工表 and 11月考勤表.no=員工表.no

where skrq between ‘2007-11-01’ and ‘2007-11-30’

在join 前加個inner

在只有join的情況下,被認為是full join ,也就是笛卡爾積了,所以會重複N多數據.

我想在EXCEL中以日曆形式做一個考勤表,怎麼做呢?

首先,要會先做個日曆……

然後再依人數,班段,數據量等因素設計顯示方式,最後套公式寫代碼什麼。

考勤表時間沒有打上指紋在異常考勤表裡怎麼填時間

Sub 簽到記錄()

Sheets(“簽到記錄”).Activate

Range(Cells(2, 1), Cells(100, 100)).Select

Selection.ClearContents

Dim m_s1, m_s2, m_s3, m_s4 As String

Dim m_arr1 ‘存放打卡記錄

Dim m_arr2 ‘存放日曆及休日標記

Dim m_arr3 ‘存放員工清單

‘Dim m_arr4(1 To 100, 1 To 31) As String ‘存放簽到記錄

Dim MAXROW1, MAXROW2, MAXROW3 As Integer

Dim i, j, k, l As Integer

Dim m_qdsj As String ‘臨時存放簽到時間

Dim m_dksj As String ‘臨時存放打卡時間

Dim m_xm, m_bm As String ‘存放員工姓名/部門

Dim m_rq As Date

Dim m_rq2 As String

Dim dkjl As String ‘存放打卡記錄

Dim sbsj As Date

Dim xbsj As Date

Dim bhZD ‘key-姓名 item-編號

Dim dkrqZD ‘key-編號+日期 item-序號

Dim dkrqArr(1 To 1000, 1 To 2) As Date ‘1-上班時間 2-下班時間

Dim dkrqJs As Integer

Dim xM As String, bH As Integer

Dim myDate As Date, myTime As Date

Dim myKey As String

Set bhZD = CreateObject(“scripting.dictionary”)

dkrqJs = 0

With Sheets(“員工基本信息”)

hh = 2

Do While .Cells(hh, 1) “”

xM = .Cells(hh, 1).Text

bH = .Cells(hh, 5).Value

bhZD.Add xM, bH

hh = hh + 1

Loop

End With

Set dkrqZD = CreateObject(“

如何在excel表中插入日曆表,我要製造考勤表 只要選擇對應月份,日期就自動生成了

1、首先在日期的第一個單元格里輸入=在點擊上面的考勤表日期,如圖。

2、然後第二個單元格里輸入=第一個單元格+1,按回車,再然後右下角向右拉。

3、再下面的星期單元格里輸入=上面的日期,如圖。

4、點擊回車,點擊右下角向右拉動,如圖。

5、選擇日期那一行點擊右鍵-設置單元格-日期,點擊確定,如圖(選擇自己合適的日期)。

6、星期那一行點擊右鍵-設置單元格-日期,點擊確定,如圖(選擇自己合適的日期)。

7、最後已在考勤表那一行的日期隨便輸入幾號,下面的日期跟星期就會隨之而變動了,如圖。

你好,請問如何把考勤表中的異常時間顯示出來?

這個都是要用vba編程來實現的。

下面介紹一個實際應用案例。

第一步:每月從考勤機讀取打卡數據導入excel表格。如圖:

第二步:維護本月工作日。如圖:

第三步:手動輸入請假記錄。如圖:

第四步:自動計算打卡結果。如圖:

第四步代碼如下:

Sub 簽到記錄()

Sheets(“簽到記錄”).Activate

Range(Cells(2, 1), Cells(100, 100)).Select

Selection.ClearContents

Dim m_s1, m_s2, m_s3, m_s4 As String

Dim m_arr1 ‘存放打卡記錄

Dim m_arr2 ‘存放日曆及休日標記

Dim m_arr3 ‘存放員工清單

‘Dim m_arr4(1 To 100, 1 To 31) As String ‘存放簽到記錄

Dim MAXROW1, MAXROW2, MAXROW3 As Integer

Dim i, j, k, l As Integer

Dim m_qdsj As String ‘臨時存放簽到時間

Dim m_dksj As String ‘臨時存放打卡時間

Dim m_xm, m_bm As String ‘存放員工姓名/部門

Dim m_rq As Date

Dim m_rq2 As String

Dim dkjl As String ‘存放打卡記錄

Dim sbsj As Date

Dim xbsj As Date

Dim bhZD ‘key-姓名 item-編號

Dim dkrqZD ‘key-編號+日期 item-序號

Dim dkrqArr(1 To 1000, 1 To 2) As Date ‘1-上班時間 2-下班時間

Dim dkrqJs As Integer

Dim xM As String, bH As Integer

Dim myDate As Date, myTime As Date

Dim myKey As String

Set bhZD = CreateObject(“scripting.dictionary”)

dkrqJs = 0

With Sheets(“員工基本信息”)

hh = 2

Do While .Cells(hh, 1) “”

xM = .Cells(hh, 1).Text

bH = .Cells(hh, 5).Value

bhZD.Add xM, bH

hh = hh + 1

Loop

End With

Set dkrqZD = CreateObject(“scripting.dictionary”)

With Sheets(“打卡記錄”)

dkrqZD.RemoveAll

hh = 2

Do While .Cells(hh, 1) “”

If hh = 13 Then

xxx = 1

End If

bH = .Cells(hh, 1).Value

myDate = .Cells(hh, 2).Value

myTime = .Cells(hh, 3).Value

myKey = “” bH “;” Day(myDate)

If Not dkrqZD.exists(myKey) Then

dkrqJs = dkrqJs + 1

dkrqZD.Add myKey, dkrqJs

dkrqArr(dkrqJs, 1) = myTime

dkrqArr(dkrqJs, 2) = myTime

Else

If myTime dkrqArr(dkrqZD(myKey), 1) Then

dkrqArr(dkrqZD(myKey), 1) = myTime ‘上班時間

End If

If myTime dkrqArr(dkrqZD(myKey), 2) Then ‘下班時間

dkrqArr(dkrqZD(myKey), 2) = myTime

End If

End If

hh = hh + 1

Loop

End With

m_s1 = “打卡記錄”

m_s2 = “本月工作日”

m_s3 = “簽到記錄”

m_s4 = “員工基本信息”

Sheets(m_s1).Select

MAXROW1 = Cells(Rows.Count, 1).End(xlUp).Row ‘找到A列最後一個有數據單元格的行號

m_arr1 = Range(“A2:c” MAXROW1) ‘把單元格區域裝入數組

Sheets(m_s2).Select

MAXROW2 = Cells(Rows.Count, 1).End(xlUp).Row ‘日曆數

m_arr2 = Range(“A2:c” MAXROW2) ‘把單元格區域裝入數組

Sheets(m_s4).Select

MAXROW3 = Cells(Rows.Count, 1).End(xlUp).Row ‘員工清單人數

m_arr3 = Range(“a2:d” MAXROW3) ‘把單元格區域裝入數組

‘計算簽到時間 取當天打卡最早的時間

Sheets(m_s3).Select

‘寫入表頭信息:第一行:日期 第二行:上班、下班

For i = 1 To MAXROW2 – 1

j = (i – 1) * 2 + 3

Cells(1, j) = m_arr2(i, 1)

Cells(1, j + 1) = myweek(m_arr2(i, 1))

Cells(2, j) = “上班”

Cells(2, j + 1) = “下班”

Next i

j = 3

For i = 1 To MAXROW3 – 1

If m_arr3(i, 4) = 0 Then

GoTo 100

End If

m_xm = m_arr3(i, 1)

m_bm = m_arr3(i, 2)

Cells(j, 1) = m_xm

Cells(j, 2) = m_bm

For k = 1 To MAXROW2 – 1

If m_arr2(k, 3) = “Y” Then ‘休息日不看打卡記錄

GoTo 200

End If

k2 = 3 + (k – 1) * 2

m_rq = m_arr2(k, 1)

m_bj = 0

bH = bhZD(m_xm)

myKey = “” bH “;” Day(m_rq)

If dkrqZD.exists(myKey) Then

m_bj = 1

sbsj = dkrqArr(dkrqZD(myKey), 1)

xbsj = dkrqArr(dkrqZD(myKey), 2)

Else

m_bj = 0

End If

If m_bj = 0 Then

Cells(j, k2) = “未打”

Cells(j, k2 + 1) = “未打”

Else

If sbsj = TimeSerial(8, 35, 0) Then

Cells(j, k2) = “OK”

Else

Cells(j, k2) = “遲到”

End If

If xbsj = TimeSerial(17, 30, 0) Then

Cells(j, k2 + 1) = “OK”

Else

Cells(j, k2 + 1) = “早退”

End If

End If

200 Next k

j = j + 1

100 Next i

Sheets(m_s3).Select

End Sub

Function myweek(a)

Dim b As Integer

b = Weekday(a, 2)

Select Case b

Case 1

myweek = “一”

Case 2

myweek = “二”

Case 3

myweek = “三”

Case 4

myweek = “四”

Case 5

myweek = “五”

Case 6

myweek = “六”

Case 7

myweek = “日”

End Select

End Function

Sub 一鍵更新()

請假處理

外出處理

出差處理

調休處理

End Sub

原創文章,作者:NAYK,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/145020.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
NAYK的頭像NAYK
上一篇 2024-10-26 11:55
下一篇 2024-10-26 11:55

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python字符串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字符串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字符串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Python基礎代碼用法介紹

    本文將從多個方面對Python基礎代碼進行解析和詳細闡述,力求讓讀者深刻理解Python基礎代碼。通過本文的學習,相信大家對Python的學習和應用會更加輕鬆和高效。 一、變量和數…

    編程 2025-04-29
  • 倉庫管理系統代碼設計Python

    這篇文章將詳細探討如何設計一個基於Python的倉庫管理系統。 一、基本需求 在着手設計之前,我們首先需要確定倉庫管理系統的基本需求。 我們可以將需求分為以下幾個方面: 1、庫存管…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

    編程 2025-04-29
  • Python實現簡易心形代碼

    在這個文章中,我們將會介紹如何用Python語言編寫一個非常簡單的代碼來生成一個心形圖案。我們將會從安裝Python開始介紹,逐步深入了解如何實現這一任務。 一、安裝Python …

    編程 2025-04-29
  • 怎麼寫不影響Python運行的長段代碼

    在Python編程的過程中,我們不可避免地需要編寫一些長段代碼,包括函數、類、複雜的控制語句等等。在編寫這些代碼時,我們需要考慮代碼可讀性、易用性以及對Python運行性能的影響。…

    編程 2025-04-29
  • 北化教務管理系統介紹及開發代碼示例

    本文將從多個方面對北化教務管理系統進行介紹及開發代碼示例,幫助開發者更好地理解和應用該系統。 一、項目介紹 北化教務管理系統是一款針對高校學生和教職工的綜合信息管理系統。系統實現的…

    編程 2025-04-29
  • Python愛心代碼動態

    本文將從多個方面詳細闡述Python愛心代碼動態,包括實現基本原理、應用場景、代碼示例等。 一、實現基本原理 Python愛心代碼動態使用turtle模塊實現。在繪製一個心形的基礎…

    編程 2025-04-29

發表回復

登錄後才能評論