ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

[µo°Ý] ½Ð°Ý ARRAY½d³ò §ï¦¨ °ÊºA «ü©w ½d³ò°ÝÃD ½Ð«e½ú­Ì«ü±Ð

¥»©«³Ì«á¥Ñ n7822123 ©ó 2020-6-17 02:06 ½s¿è

¦^´_ 1# °a¤ªºµ

»Ý¨D¡G
½Ð°Ý«e½ú­Ì ¥H¤U³o¬q¸Ó¦p¦ó§ï¼g ¤~¯à°÷§ï¦¨°ÊºAªº³W«ß ¦p¦ó¥i¥HÁY´îµ{¦¡½X

If TextBox2.Value = 1 Then A = Array(3, 5, 7, 15, 17, 19)
If TextBox2.Value = 2 Then A = Array(5, 7, 9, 17, 19, 21)
If TextBox2.Value = 3 Then A = Array(7, 9, 11, 19, 21, 23)
If TextBox2.Value = 4 Then A = Array(9, 11, 13, 21, 23, 25)
If TextBox2.Value = 5 Then A = Array(11, 13, 15, 23, 25)
If TextBox2.Value = 6 Then A = Array(13, 15, 17, 25)
If TextBox2.Value = 7 Then A = Array(15, 17, 19)
If TextBox2.Value = 8 Then A = Array(17, 19, 21)
If TextBox2.Value = 9 Then A = Array(19, 21, 23)
If TextBox2.Value = 10 Then A = Array(21, 23, 25)
If TextBox2.Value = 11 Then A = Array(23, 25)
If TextBox2.Value = 12 Then A = Array(25)
If TextBox2.Value = "" Then A = Array(3, 5, 7, 15, 17, 19)

¦P·N·Ç¤j»¡ªº¡A¦Û¤v¼gªºµ{¦¡¦Û¤v¯à¬ÝÀ´¡A¤~¬O³Ì¦nªº¡I
§O¤H¼gªº«Üµu«Ü¼F®`¡A§A¦pªG¬Ý¤£À´¡A¤§«á­n§ïµ{¦¡¤]µL±q¤U¤â¡A·|§óµh­W
¨Ì§Aªº»Ý¨D¡Aµ{¦¡§ï¦¨¦p¤U¡A¦ý°õ¦æ³t«×¤£·|¤ñ¸û§Ö~


k = TextBox2.Value: If k = "" Then k = 1
For i = k To 12: Idx = Idx + 1
  If Idx < 4 Or Idx > 6 Then
    itm = itm + 1: If itm = 7 Then Exit For
    s = s & "," & i * 2 + 1
  End If
Next i
A = Split(Mid(s, 2), ",")
µ{¦¡¬O¨Ì»Ý¨D¼gªº¡A»Ý¨Dªí¹F¤£²M·¡
©ÎªÌ¨S¦³¤W¶Çªþ¥ó¡A·R²ö¯à§U

TOP

¥»©«³Ì«á¥Ñ n7822123 ©ó 2020-6-17 02:30 ½s¿è

¦^´_ 1# °a¤ªºµ


¼gªk¤G¡G
k = TextBox2.Value: If k = "" Then k = 1
For i = k To 12
  s = s & "," & i * 2 + 1
  itm = itm + 1: If itm = 6 Then Exit For
  If i = k + 2 Then i = i + 5
Next i
A = Split(Mid(s, 2), ",")


¬Ý§Aı±o¨º­Ó§A¤ñ¸û¦n²z¸Ñ
·s¤â¤£«Øij¦bFor°j°é¸Ì­±§ïFor°j°éªºÅܼƭÈ
¥H§K¤£¤p¤ß´N§Ë¦¨µL½a°j°é¡A©Ò¥H¤£¤Ó±ÀÂ˦¹¼gªk
µ{¦¡¬O¨Ì»Ý¨D¼gªº¡A»Ý¨Dªí¹F¤£²M·¡
©ÎªÌ¨S¦³¤W¶Çªþ¥ó¡A·R²ö¯à§U

TOP

¥»©«³Ì«á¥Ñ n7822123 ©ó 2020-6-17 02:43 ½s¿è

¦^´_ 6# n7822123


º|§ï¨ì¡A­×¥¿¼gªk¤G

k = TextBox2.Value: If k = "" Then k = 1
For i = k To 12
  s = s & "," & i * 2 + 1
  itm = itm + 1: If itm = 6 Then Exit For
  If i = k + 2 Then i = i + 3    '¸õ¹L«á3­Ó°j°é
Next i
A = Split(Mid(s, 2), ",")
µ{¦¡¬O¨Ì»Ý¨D¼gªº¡A»Ý¨Dªí¹F¤£²M·¡
©ÎªÌ¨S¦³¤W¶Çªþ¥ó¡A·R²ö¯à§U

TOP

¥»©«³Ì«á¥Ñ n7822123 ©ó 2020-6-23 14:13 ½s¿è

¦^´_ 10# °a¤ªºµ

Å¥·Ç¤jªº~~§A´NÅý¤é´Á¦^Âk¨ì¤é´Á®æ¦¡¡A§O¥Î¤å¦r®æ¦¡ª±

¤é´Á®æ¦¡¬O¥i¥H°µ­pºâªº¡A¥Î¤é´Á®æ¦¡­pºâ¡Aºâ¨ì¦è¤¸3000¦~~³£¨S°ÝÃD

­nµo°Ý´N­n§â§Aªº°ÝÃD ´£¨ú¥X¨Ó¡A°µ¦¨Â²³æªºExcelÀɮסA¥i¥H°µ´ú¸Õ´N¦n

¤j³¡¤À¤H(¥]§t§Ú)¬Ý¨ì¤@¤j¦êµ{¦¡¡A´NÃiªº¥h¬ã¨s¤F¡A¦óªp¤j³¡¤Àµ{¦¡¸ò§A´£°Ýªº¤£¬Û¤z

©Ò¥H§Ú¥»¨Ó¬OÃi±o¦^§Aªº~

§Ú°µ¤@­Ó¤p½d¨ÒÅý§A°Ñ¦Ò§a¡A§Aªºµ{¦¡¤£¬Û¤zªºªF¦è¦³ÂI¦h¡AÃiªº¬ã¨s

Sub ª±¤é´Á()
Dim Date1 As Date, Date2 As Date
CheckOK = False
Do Until CheckOK
  On Error Resume Next
  Date1 = InputBox("½Ð¿é¤J²Ä¤@¤Ñ¤W¯Z¤é´Á¡A" & vbCrLf & " »Ý­n¤é´Á®æ¦¡ Ex¡G2020/1/1")
  If Err <> 0 Then MsgBox "§A¿é¤Jªº¤£¬O¤é´Á®æ¦¡¡A½Ð­×§ï" Else CheckOK = True
  On Error GoTo 0
Loop
CheckOK = False
Do Until CheckOK
  On Error Resume Next
  Date2 = InputBox("½Ð¿é¤J­n¬d¸ßªº¤é´Á¡A" & vbCrLf & " »Ý­n¤é´Á®æ¦¡ Ex¡G2020/7/1")
  If Err <> 0 Then MsgBox "§A¿é¤Jªº¤£¬O¤é´Á®æ¦¡¡A½Ð­×§ï" Else CheckOK = True
  On Error GoTo 0
Loop
Date1 = Date1 - 1
If Date2 - Date1 < 0 Then MsgBox "§A¿é¤Jªº¬d¸ß¤é´Á¤ñ²Ä¤@¤Ñ¤W¯Z¤éÁÙ«e­±": Exit Sub
'¥H°µ4¥ð2¬°¨Ò(6¤Ñ¤@´`Àô)
Select Case (Date2 - Date1) Mod 6
    Case 1, 2, 3, 4: MsgBox "³o¤Ñ­n¤W¯Z"
    Case 5, 6: MsgBox "®¥³ß!³o¤Ñ¬O¥ð°²^.^"
End Select
End Sub
µ{¦¡¬O¨Ì»Ý¨D¼gªº¡A»Ý¨Dªí¹F¤£²M·¡
©ÎªÌ¨S¦³¤W¶Çªþ¥ó¡A·R²ö¯à§U

TOP

¦^´_ 12# °a¤ªºµ

Å¥§Aªº¦^ÂСA·Pı§A¥i¥H¦Û¤v§¹¦¨¹Æ~

¥t¥~§Úªº½d¨Òµ{¦¡¦³ÂI¤p¿ù


Sub ª±¤é´Á()
Dim Date1 As Date, Date2 As Date
CheckOK = False
Do Until CheckOK
  On Error Resume Next
  Date1 = InputBox("½Ð¿é¤J²Ä¤@¤Ñ¤W¯Z¤é´Á¡A" & vbCrLf & " »Ý­n¤é´Á®æ¦¡ Ex¡G2020/1/1")
  If Err <> 0 Then MsgBox "§A¿é¤Jªº¤£¬O¤é´Á®æ¦¡¡A½Ð­×§ï" Else CheckOK = True
  On Error GoTo 0
Loop
CheckOK = False
Do Until CheckOK
  On Error Resume Next
  Date2 = InputBox("½Ð¿é¤J­n¬d¸ßªº¤é´Á¡A" & vbCrLf & " »Ý­n¤é´Á®æ¦¡ Ex¡G2020/7/1")
  If Err <> 0 Then MsgBox "§A¿é¤Jªº¤£¬O¤é´Á®æ¦¡¡A½Ð­×§ï" Else CheckOK = True
  On Error GoTo 0
Loop
Date1 = Date1 - 1
If Date2 - Date1 < 0 Then MsgBox "§A¿é¤Jªº¬d¸ß¤é´Á¤ñ²Ä¤@¤Ñ¤W¯Z¤éÁÙ«e­±": Exit Sub
'¥H°µ4¥ð2¬°¨Ò(6¤Ñ¤@´`Àô)
Select Case Int(Date2 - Date1) Mod 6
    Case 1, 2, 3, 4: MsgBox "³o¤Ñ­n¤W¯Z"
    Case 5, 0: MsgBox "®¥³ß!³o¤Ñ¬O¥ð°²^.^"
End Select
End Sub  
µ{¦¡¬O¨Ì»Ý¨D¼gªº¡A»Ý¨Dªí¹F¤£²M·¡
©ÎªÌ¨S¦³¤W¶Çªþ¥ó¡A·R²ö¯à§U

TOP

¥»©«³Ì«á¥Ñ n7822123 ©ó 2020-6-30 00:49 ½s¿è

¦^´_ 20# °a¤ªºµ


·Ç´£¤j¤jªºª©¥» ±Æª©§ó¬O²M·¡

·Ç¤jªºª©¥»¬Ý°_¨Ó«ÜµÎªA¡A

§A¤w¸g­n©ñ±ó§A­ì¥»«Üªáªº®æ¦¡¡A·Q¥Î·Ç¤jªºª©¥»¤F¶ÜXD  ¡@


»Ý¨D¡G

¦pªG­n³]©w´X½ü¤W¡@©]¯Z¡@¤é¯Z
¦ý§ÚÀ³¸Ó¦b­þ¤@¬q­×§ï¡@­n«ç»ò¼g¡H

·Ç¤j¤£¬O¥Î¯ÂVBA°µªº¡A¦³·f°t©w¸q¦WºÙ¡B¨ç¼Æ¤½¦¡

²³æ¨Ó»¡¡A¤£¯à¥uµ¹§AVBAµ{¦¡~

¥ý¶}Äæ¦ì§a~~¦p¤U¹Ï





Àx¦s®æC8 ·s¼W¤@­Ó¿ï¶µ "¤é©]½ü¬y"

°²³]¤@¼Ë°µ4¥ð2¡A6¤Ñ¬°1½ü¡A²Ä1~4½ü¤W¤é¯Z¡A²Ä6~10½ü¤W©]¯Z¡A²Ä11½ü¤S¦^¨ì¤é¯Z¡A¥H¦¹Ãþ±À~

§A­nªº¥\¯à¡A¥u»Ý­n­×§ï "Sub ¤é¾ä_±Æ¯Z" ³o­Óµ{§Ç§Y¥i

¦Ó¥B¸ê®Æªº³¡¤À§ó¬O¥u»Ý­×§ïAD¡BAE ¨âÄæ¡A¦¹µ{§Çªº«á¬qµ{¦¡»P¸ê®ÆµLÃö¡A¤º®e¤j·§¬O

¥ÎVBA³]¤½¦¡(§ìAD¡BAE¸ê®Æ)>½Æ»s¤½¦¡>²M°£¤½¦¡>³]Àx¦s®æÃC¦â(¨Ì[aRngColor]®æ¦¡)

¤]´N¥u¬O§â¤ë¾ä®æ¦¡§Ë¥X¨Ó¦Ó¤w¡A§A¦³¿³½ì¤]¥i¥H¬ã¨s¤@¤U

·Ç¤j¼gªºµ{¦¡À³¸Ó¥i¥HÅý§A¾Ç¨ì«Ü¦h~~~«e´£¬O§A­n¯à¬Ý±oÀ´~

®Ú¾Ú§Aªº»Ý¨D¡A§Ú§â§Ú·s¼Wªºµ{¦¡¥Î¬õ¦â Hight Light

³o¼Ë§A¥i¥H¤ñ¸û¦n°Ï¤À§ï¤F­þ¨Ç¡A¬°¤°»ò³o¼Ë§ï~

§Úªºµ{¦¡¬O°²³] ¥ý½ü¤é¯Z ¦A½ü©]¯Z¡A¦pªG§A­nÄA­Ë¡A¥i¥H¸ÕµÛ§ï¬Ý¬Ý~¯uªº¤£Ãø


Sub ¤é¾ä_±Æ¯Z()
Dim D1&, D2&, xDay&, xMon&, xTP$, xVM&, xVD1%, xVD2%
Dim Arr, i&, R&, C&, C2&, N&, TN&, T$, xR As Range
If [A_Head] = [A_End] Then MsgBox "**¡e¤ë¾ä¡f©|¥¼«Ø¥ß!   ":  Exit Sub
D1 = [A_Head]: D2 = [A_End] + 30
'---------------------------------
xDay = [aRng1]: If xDay = 0 Then xDay = D1
If xDay < D1 Or xDay > D2 Then MsgBox "¡e±Æ¯Z­º¤é¡f¶W¥X¤é¾ä½d³ò!   ":  Exit Sub
xMon = Format(xDay, "yyyymm")
'---------------------------------
xTP = [aRng2]: If xTP = "" Then MsgBox "¡e±Æ¯Z¯Z§O¡f¥¼¿é¤J!   ": Exit Sub
If xTP = "¤é©]½ü¬y" Then Turn = True
xVM = [aRng3]: If xVM = 0 Then MsgBox "¡e±Æ¯Z¤ë¼Æ¡f¥¼¿é¤J!   ": Exit Sub
xVD1 = [aRng4]: If xVD1 = 0 Then MsgBox "¡e±Æ¯Z¤Ñ¼Æ¡f¥¼¿é¤J!   ": Exit Sub
xVD2 = [aRng5]: If xVD2 = 0 Then MsgBox "¡e¥ð®§¤Ñ¼Æ¡f¥¼¿é¤J!   ": Exit Sub
Dturn = [aRng6]: NTurn = [aRng7]
If Turn And (Dturn = "" Or NTurn = "") Then MsgBox "¡e¤é¡B©]¯Z½ü¼Æ¡f¥¼¿é¤J§¹¥þ"  : Exit Sub

'---------------------------------
Call ¤é¾ä_±Æ¯Z_­«¸m
ReDim Arr(1 To D2 - xDay + 1, 1 To 2)
For i = xDay To D2
    xMon = Format(i, "yyyymm")
    If xMon <> YM Then YM = xMon: N = N + 1
    TN = Int((i - D1 + 1) / (xVD1 + xVD2))
    If N > xVM Then Exit For
    R = R + 1
    C = C Mod (xVD1 + xVD2) + 1
    C2 = TN Mod (Dturn + NTurn) + 1
    T = IIf(Turn, IIf(C2 > Dturn, "©]¯Z", "¤é¯Z"), xTP)

    If C > xVD1 Then T = "¥ð®§"
    Arr(R, 1) = i
    Arr(R, 2) = T
Next i
[AD1] = "¡Õ¤é´Á¡Ö": [AE1] = "¡Õ¯Z§O¡Ö"
[AD2:AE2].Resize(R) = Arr
...
...
...


½m²ß¤é´Áv01-0630.rar (107.3 KB)
µ{¦¡¬O¨Ì»Ý¨D¼gªº¡A»Ý¨Dªí¹F¤£²M·¡
©ÎªÌ¨S¦³¤W¶Çªþ¥ó¡A·R²ö¯à§U

TOP

¦^´_ 21# n7822123


«u! ¬Ý¿ù¤F¡A³o¦æ§ï¤@¤U

TN = Int((i - xDay + 1) / (xVD1 + xVD2))
µ{¦¡¬O¨Ì»Ý¨D¼gªº¡A»Ý¨Dªí¹F¤£²M·¡
©ÎªÌ¨S¦³¤W¶Çªþ¥ó¡A·R²ö¯à§U

TOP

        ÀR«ä¦Û¦b : ¯àµ½¥Î®É¶¡ªº¤H¡A¥²¯à´x´¤¦Û¤v§V¤Oªº¤è¦V¡C
ªð¦^¦Cªí ¤W¤@¥DÃD