當前位置:首頁 » 編程軟體 » 07編程

07編程

發布時間: 2022-04-27 06:50:01

1. 關於office2007的VBA編程

除了一小部分有點差異外,
2003版VBA基本可以全部移植到2007裡面,
不過看一下幫助就可以解決問題了,
我也是學2003版的,現在用的是2007版,
也覺得沒什麼問題。

2. excel2007 編程,第一列為日期數,第二列是星期,第三行為農歷,判斷這一天是否是法定節日,是的話在第四列

至於要用到農歷,那你的文件就是運行VBA。
要是法定節日,那得你手動輸入,倒不多。
如果你願意,我可以幫你解決你要的功能

第一列,B2=????-??-??
第二列,C2=WEEKDAY(B2,1)
第三列,D2=calendar(B2) 註:此處calendar()函數為自定義函數,見後面解釋
第四列,E2= (是不是法定節假日,你只有查一下國務院放假規定)
選擇B2至E2,填充所要單元格。

下面解釋一下那個自定義函數:
這個需要VBA了.
按ALT+F11 再 插入 模塊
把下面的代碼制復制到模塊中,D2數據就生成了

Option Explicit
Dim WeekName(7), MonthAdd(11), NongliData(120), TianGan(9), DiZhi(11), ShuXiang(11), DayName(30), MonName(12)
Dim curTime, curYear, curMonth, curDay, curWeekday
Dim GongliStr, WeekdayStr, NongliStr, NongliDayStr
Dim i, m, n, k, isEnd, bit, TheDate, num1, num2
Dim year, month, day, grid, grid_date

Function calendar(grid)
grid_date = grid

year = Mid(grid_date, 1, 4)

num1 = InStr(grid_date, "-")

num2 = InStr(6, grid_date, "-")

If (num2 - num1) = 3 Then
month = Mid(grid_date, 6, 2)
day = Mid(grid_date, 9, 2)

Else
month = Mid(grid_date, 6, 1)
day = Mid(grid_date, 8, 2)

End If

'星期名
WeekName(0) = " * "
WeekName(1) = "星期日"
WeekName(2) = "星期一"
WeekName(3) = "星期二"
WeekName(4) = "星期三"
WeekName(5) = "星期四"
WeekName(6) = "星期五"
WeekName(7) = "星期六"
'天干名稱
TianGan(0) = "甲"
TianGan(1) = "乙"
TianGan(2) = "丙"
TianGan(3) = "丁"
TianGan(4) = "戊"
TianGan(5) = "己"
TianGan(6) = "庚"
TianGan(7) = "辛"
TianGan(8) = "壬"
TianGan(9) = "癸"
'地支名稱
DiZhi(0) = "子"
DiZhi(1) = "丑"
DiZhi(2) = "寅"
DiZhi(3) = "卯"
DiZhi(4) = "辰"
DiZhi(5) = "巳"
DiZhi(6) = "午"
DiZhi(7) = "未"
DiZhi(8) = "申"
DiZhi(9) = "酉"
DiZhi(10) = "戌"
DiZhi(11) = "亥"
'屬相名稱
ShuXiang(0) = "鼠"
ShuXiang(1) = "牛"
ShuXiang(2) = "虎"
ShuXiang(3) = "兔"
ShuXiang(4) = "龍"
ShuXiang(5) = "蛇"
ShuXiang(6) = "馬"
ShuXiang(7) = "羊"
ShuXiang(8) = "猴"
ShuXiang(9) = "雞"
ShuXiang(10) = "狗"
ShuXiang(11) = "豬"
'農歷日期名
DayName(0) = "*"
DayName(1) = "初一"
DayName(2) = "初二"
DayName(3) = "初三"
DayName(4) = "初四"
DayName(5) = "初五"
DayName(6) = "初六"
DayName(7) = "初七"
DayName(8) = "初八"
DayName(9) = "初九"
DayName(10) = "初十"
DayName(11) = "十一"
DayName(12) = "十二"
DayName(13) = "十三"
DayName(14) = "十四"
DayName(15) = "十五"
DayName(16) = "十六"
DayName(17) = "十七"
DayName(18) = "十八"
DayName(19) = "十九"
DayName(20) = "二十"
DayName(21) = "二十一"
DayName(22) = "二十二"
DayName(23) = "二十三"
DayName(24) = "二十四"
DayName(25) = "二十五"
DayName(26) = "二十六"
DayName(27) = "二十七"
DayName(28) = "二十八"
DayName(29) = "二十九"
DayName(30) = "三十"
'農歷月份名
MonName(0) = "*"
MonName(1) = "正"
MonName(2) = "二"
MonName(3) = "三"
MonName(4) = "四"
MonName(5) = "五"
MonName(6) = "六"
MonName(7) = "七"
MonName(8) = "八"
MonName(9) = "九"
MonName(10) = "十"
MonName(11) = "十一"
MonName(12) = "臘"
'公歷每月前面的天數
MonthAdd(0) = 0
MonthAdd(1) = 31
MonthAdd(2) = 59
MonthAdd(3) = 90
MonthAdd(4) = 120
MonthAdd(5) = 151
MonthAdd(6) = 181
MonthAdd(7) = 212
MonthAdd(8) = 243
MonthAdd(9) = 273
MonthAdd(10) = 304
MonthAdd(11) = 334
'農歷數據
NongliData(0) = 2635
NongliData(1) = 333387
NongliData(2) = 1701
NongliData(3) = 1748
NongliData(4) = 267701
NongliData(5) = 694
NongliData(6) = 2391
NongliData(7) = 133423
NongliData(8) = 1175
NongliData(9) = 396438
NongliData(10) = 3402
NongliData(11) = 3749
NongliData(12) = 331177
NongliData(13) = 1453
NongliData(14) = 694
NongliData(15) = 201326
NongliData(16) = 2350
NongliData(17) = 465197
NongliData(18) = 3221
NongliData(19) = 3402
NongliData(20) = 400202
NongliData(21) = 2901
NongliData(22) = 1386
NongliData(23) = 267611
NongliData(24) = 605
NongliData(25) = 2349
NongliData(26) = 137515
NongliData(27) = 2709
NongliData(28) = 464533
NongliData(29) = 1738
NongliData(30) = 2901
NongliData(31) = 330421
NongliData(32) = 1242
NongliData(33) = 2651
NongliData(34) = 199255
NongliData(35) = 1323
NongliData(36) = 529706
NongliData(37) = 3733
NongliData(38) = 1706
NongliData(39) = 398762
NongliData(40) = 2741
NongliData(41) = 1206
NongliData(42) = 267438
NongliData(43) = 2647
NongliData(44) = 1318
NongliData(45) = 204070
NongliData(46) = 3477
NongliData(47) = 46
NongliData(48) = 1386
NongliData(49) = 2413
NongliData(50) = 330077
NongliData(51) = 1197
NongliData(52) = 2637
NongliData(53) = 268877
NongliData(54) = 3365
NongliData(55) = 531109
NongliData(56) = 2900
NongliData(57) = 2922
NongliData(58) = 398042
NongliData(59) = 2395
NongliData(60) = 1179
NongliData(61) = 267415
NongliData(62) = 2635
NongliData(63) = 661067
NongliData(64) = 1701
NongliData(65) = 1748
NongliData(66) = 398772
NongliData(67) = 2742
NongliData(68) = 2391
NongliData(69) = 330031
NongliData(70) = 1175
NongliData(71) = 1611
NongliData(72) = 200010
NongliData(73) = 3749
NongliData(74) = 527717
NongliData(75) = 1452
NongliData(76) = 2742
NongliData(77) = 332397
NongliData(78) = 2350
NongliData(79) = 3222
NongliData(80) = 268949
NongliData(81) = 3402
NongliData(82) = 3493
NongliData(83) = 133973
NongliData(84) = 1386
NongliData(85) = 464219
NongliData(86) = 605
NongliData(87) = 2349
NongliData(88) = 334123
NongliData(89) = 2709
NongliData(90) = 2890
NongliData(91) = 267946
NongliData(92) = 2773
NongliData(93) = 592565
NongliData(94) = 1210
NongliData(95) = 2651
NongliData(96) = 395863
NongliData(97) = 1323
NongliData(98) = 2707
NongliData(99) = 265877

'生成當前公歷年、月、日 ==> GongliStr
curYear = year
curMonth = month
curDay = day
GongliStr = curYear & "年"
If (curMonth < 10) Then
GongliStr = GongliStr & "0" & curMonth & "月"
Else
GongliStr = GongliStr & curMonth & "月"
End If
If (curDay < 10) Then
GongliStr = GongliStr & "0" & curDay & "日"
Else
GongliStr = GongliStr & curDay & "日"
End If
'生成當前公歷星期 ==> WeekdayStr
curWeekday = Weekday(curTime)
WeekdayStr = WeekName(curWeekday)
'計算到初始時間1921年2月8日的天數:1921-2-8(正月初一)
TheDate = (curYear - 1921) * 365 + Int((curYear - 1921) / 4) + curDay + MonthAdd(curMonth - 1) - 38
If ((curYear Mod 4) = 0 And curMonth > 2) Then
TheDate = TheDate + 1
End If
'計算農歷天干、地支、月、日
isEnd = 0
m = 0
Do
If (NongliData(m) < 4095) Then
k = 11
Else
k = 12
End If
n = k
Do
If (n < 0) Then
Exit Do
End If
'獲取NongliData(m)的第n個二進制位的值
bit = NongliData(m)
For i = 1 To n Step 1
bit = Int(bit / 2)
Next
bit = bit Mod 2
If (TheDate <= 29 + bit) Then
isEnd = 1
Exit Do
End If
TheDate = TheDate - 29 - bit
n = n - 1
Loop
If (isEnd = 1) Then
Exit Do
End If
m = m + 1
Loop
curYear = 1921 + m
curMonth = k - n + 1
curDay = TheDate
If (k = 12) Then
If (curMonth = (Int(NongliData(m) / 65536) + 1)) Then
curMonth = 1 - curMonth
ElseIf (curMonth > (Int(NongliData(m) / 65536) + 1)) Then
curMonth = curMonth - 1
End If
End If
'生成農歷天干、地支、屬相 ==> NongliStr
NongliStr = "農歷" & TianGan(((curYear - 4) Mod 60) Mod 10) & DiZhi(((curYear - 4) Mod 60) Mod 12) & "年"
NongliStr = NongliStr & "(" & ShuXiang(((curYear - 4) Mod 60) Mod 12) & ""
'生成農歷月、日 ==> NongliDayStr
If (curMonth < 1) Then
NongliDayStr = "閏" & MonName(-1 * curMonth)
Else
NongliDayStr = MonName(curMonth)
End If
NongliDayStr = NongliDayStr & "月"
NongliDayStr = NongliDayStr & DayName(curDay) & ")"
calendar = NongliStr & NongliDayStr
End Function

3. 07年最新的編程語言是什麼>

visual studio 2007

4. 如何用CAD2007編程

沒有學過?簡單,vlisp命令就可以啟動一個界面,耐心看看幫助,幾天就學會了。

5. C#編程的問題07

引用類型的才需要用new關鍵字來創建對象
因為它必須引用一個實例
比如
結構的話就可以new也可以不new
因為它是值類型
比如有個結構student
你可以直接student
a;
然後就可以直接用a操作student的成員了
靜態和new沒關系
靜態的變數
方法等等
是屬於類的成員
所以就算有某類的對象
這對象卻不能調用那個靜態成員
只能用類名來調用
而你的那個int
i;
i
就已經是int的對象了
int
long
等等等等的14個值類型
是預定義類型
(還有一個預定義的引用類型
string)
所以綜合以上所說
int
i
不用new
而且也並不代表他是靜態的 也根本就不是靜態的

6. 98版本的c++和07版本的c++在編程語言上不同嗎

目前最新c++版本為c++ 0x,很少有編譯器完全支持。上一個版本為c++98,visual c++ 6並非完全支持。
目前盡量使用c++98標准。
你上面說的應該是指某個編譯器吧,因為c++版本與操作系統無關!
完全可以寫成兩個符合各個版本的代碼。如:

int sum = 0;
for(int i = 0; i < 10; ++i)
{
sum += i;
}

int val = 1;
for(int i = 1; i < 10; ++i)
{
val *= i;
}

上面代碼在vc6中不能編譯,它符合c++98標准。但是,如果寫為:

int i;
int sum = 0;
for(i = 0; i < 10; ++i)
{
sum += i;
}

int val = 1;
for(i = 1; i < 10; ++i)
{
val *= i;
}

則任何版本的c++都能夠通過編譯。

7. 我想自學java編程,是2007出的書會不會太老了從2007到現在這語言有改過嗎

不會,可以放心的學,現在的只是講的不是jdk1.4或者以前的就行了
jdk1.4和jdk5是分水領

8. excel 2007 編程

不用編程,用if公式就可以解決了。
樓主用過vb,if公式通過幫助看一下就行了。我就不詳細解釋了。
操作:
=if((40-d3)>=0,0,d3-40)
應該能滿足要求。

9. EXCEL2007 VBA編程 如何實現逐行多對對查找

這個不需要VBA呀,用公式就可以搞定的

如下:

sheet1表結構如下:

B2里輸入的公式為

=IF(ISERROR(MATCH(A2 & B1,Sheet1!A2:A9 & Sheet1!B2:B9,0)),"",INDEX(Sheet1!C2:C9,MATCH(A2 & B1,Sheet1!A2:A9 & Sheet1!B2:B9,0)))

【注】在B2里復制粘貼以上公式後要同時按下CTRL+SHEFT+ENTER組合鍵

當你改變A2和B1的值時,B2里就會跳出相應的完成內容

10. excel2007如何進入編程界面

右鍵點最下面的表格名稱,然後查看代碼,就進入了宏界面,裡面就可以用VBA了

熱點內容
scratch少兒編程課程 發布:2025-04-16 17:11:44 瀏覽:631
榮耀x10從哪裡設置密碼 發布:2025-04-16 17:11:43 瀏覽:360
java從入門到精通視頻 發布:2025-04-16 17:11:43 瀏覽:76
php微信介面教程 發布:2025-04-16 17:07:30 瀏覽:301
android實現陰影 發布:2025-04-16 16:50:08 瀏覽:789
粉筆直播課緩存 發布:2025-04-16 16:31:21 瀏覽:339
機頂盒都有什麼配置 發布:2025-04-16 16:24:37 瀏覽:204
編寫手游反編譯都需要學習什麼 發布:2025-04-16 16:19:36 瀏覽:804
proteus編譯文件位置 發布:2025-04-16 16:18:44 瀏覽:358
土壓縮的本質 發布:2025-04-16 16:13:21 瀏覽:584