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

[µo°Ý] ¦p¦ó§â¦³¶ñ¼g¼Æ¶qªº«~¶µ±q²M³æ½Æ»s¨ì¨ì¥X³f³æ

[µo°Ý] ¦p¦ó§â¦³¶ñ¼g¼Æ¶qªº«~¶µ±q²M³æ½Æ»s¨ì¨ì¥X³f³æ

¥Ø¼Ð¡G·Q§â¦b201401ªí¤¤¶ñ¦nªº­qÁÊ«~¸ê®Æ¡A¶K¨ì¥X³f³æ¤U­±¡C
·Q½Ð°Ý°ª¤â
1.¦p¦ó¤~¯à§â¦³¶ñ¤J¼Æ¶qªº­qÁÊ«~¿ï¥X¨Ó¡A¨Ã½Æ»s¨ì¥X³f³æ¤W¡C
2.¦p¦óÅý¥X³f³æªº­qÁÊ«~ªí®æªø«×ÀHµÛ¦³­qÁʪº«~¶µ¼ÆÅÜ°Ê¡A¦C¦L®É¸ûÀô«O¡C
¡½¡½  ¤]´N¬O»¡«È¤H«ü©w3¼Ë®É¡Aªí®æ¤U¦C¤]¥uÅã¥Ü3¼Ë¡A¦Ó¤£»Ý­n¦h¦C¦LªÅ¥Õ¦C¼Æ¡C¡½¡½
¡½¡½  ¦Ó«ü©w20¼Ë®É¡Aªí®æ¤]¥i¥H¦Û°ÊÅܦ¨­è¦n20¦æ¡Aª¾¹DÀ³¸Ó¬O¥ÎOffsetÆ[©À¡A¦ý¬O¤£¤Óª¾¹D«ç»ò¼g¡C¡½¡½
3. ³Ì«á¤@­Ó°ÝÃD¬OÀɮ׸ê®Æ¶q¨S¦³«Ü¦h¡A¦ý¬O´N¤w¸g2.6MB¤F¡A¦³¸Ñ¨M¤è¦¡¶Ü¡H

Inquiry.rar (245.15 KB)

¦^´_ 1# lancerlot1980
Àɮ׸ê®Æ¶q¨S¦³«Ü¦h¡A¦ý¬O´N¤w¸g2.6MB¤F¡A¬O¤½¦¡¤Ó¦h¤U­±ªºµ{¦¡½X¥i´À¥N¤½¦¡.
  1. Private Sub Workbook_Open() 'ThisWorkbookª«¥óªºµ{¦¡½X
  2.     Dim E As Range
  3.     With Sheets("¤U©Ô¿ï³æ").UsedRange.SpecialCells(xlCellTypeConstants)
  4.         For Each E In .Areas
  5.             E.CreateNames Top:=True  '©w¸q¦WºÙ ¥X³fª¬ºA ÅU«È¨Ó·½ ¥X³f¤è¦¡ ...
  6.         Next
  7.     End With
  8. End Sub
½Æ»s¥N½X
  1. '201401 ¤u§@ªíª«¥óªºµ{¦¡½X
  2. Private Sub Worksheet_Change(ByVal Target As Range)
  3.     Dim Rng As Range
  4.     If Target.Cells(1).Column < 4 Then Exit Sub  'AÄæ-CÄæ
  5.     Application.EnableEvents = False
  6.     With Target.Cells(1)
  7.         Select Case .Row
  8.             Case 6  '¿é¤J ¶l»¼°Ï¸¹
  9.                 Set Rng = Sheets("¶l»¼°Ï¸¹").[a:a].Find(Target.Cells(1), lookat:=xlWhole)
  10.                 If Not Rng Is Nothing Then
  11.                     Target.Cells(1).Offset(1) = Rng.Offset(, 1)
  12.                 Else
  13.                     Target.Cells(1).Offset(1) = ""
  14.                 End If
  15.             Case Is >= 23, 13      '¿é¤J ¼Æ¶q
  16.                 Cells(13, .Column) = Application.WorksheetFunction.SumProduct([C23:C2022], [C23:C2022].Offset(, .Column - 3))
  17.                 With Cells(17, .Column)
  18.                     If Cells(13, .Column) <= Application.Sum([C14:C15].Offset(, .Column - 3)) Then
  19.                         .Cells = Cells(16, .Column)
  20.                     Else
  21.                     .Cells = Cells(13, .Column) - Application.Sum([C14:C15].Offset(, .Column - 3)) + Cells(16, .Column)
  22.                     End If
  23.                 End With
  24.             Case 14 To 17       '¿é¤J §é¦©A, §é¦©B,¹B¶O
  25.                 With Cells(17, .Column)
  26.                     If Cells(13, .Column) <= Application.Sum([C14:C15].Offset(, .Column - 3)) Then
  27.                         .Cells = Cells(16, .Column)
  28.                     Else
  29.                     .Cells = Cells(13, .Column) - Application.Sum([C14:C15].Offset(, .Column - 3)) + Cells(16, .Column)
  30.                     End If
  31.                 End With
  32.         End Select
  33.     End With
  34.     Application.EnableEvents = True
  35. End Sub
  36. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  37.     Dim S As String
  38.     Cells.Validation.Delete   '§R°£ ©Ò¦³ªºÀx¦s®æªºÅçÃÒ(¤U©Ô¿ï³æ)
  39.     With Target.Cells(1)
  40.         If .Column >= 4 Then
  41.             Select Case .Row
  42.                 Case 2
  43.                     S = "=¥X³fª¬ºA"
  44.                 Case 9
  45.                     S = "=ÅU«È¨Ó·½"
  46.                 Case 19
  47.                     S = "=¥X³f¤è¦¡"
  48.             End Select
  49.         End If
  50.         If Target.Cells(1).Address = "$C$1" Then S = "=" & Range("D1", [D1].End(xlToRight)).Address   '§Ç¸¹ ªº½d³ò
  51.         If S <> "" Then
  52.             With .Validation         'Àx¦s®æªºÅçÃÒ(¤U©Ô¿ï³æ)
  53.             .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=S '«ü©w¤½¦¡
  54.             End With
  55.         End If
  56.     End With
  57. End Sub
½Æ»s¥N½X
  1. Option Explicit
  2. Private Sub Autoform_Click()
  3.     '¶}©l»s§@
  4.     Dim Rng As Range, E As Range
  5.     With Sheets("201401")
  6.         Set Rng = .Range("D1", .[D1].End(xlToRight)).Find(.[C1], lookat:=xlWhole)
  7.     End With
  8.     If Rng Is Nothing Then MsgBox Rng & "§ä¤£¨ì": Exit Sub
  9.     If Application.Sum(Rng.Range("A23:A2022")) <= 0 Then MsgBox Rng & "¨S¦³¿é¤J": Exit Sub
  10.     With Sheets("¥X³f³æ")
  11.         .Range("B3:B6,D3:D6,F3:F6,A8:F" & .Rows.Count) = ""
  12.         .Range("B3:B5") = Rng.Range("A3:A5").Value              '½Æ»s°ò¥»¸ê®Æ
  13.         .Range("B6") = Rng.Range("A7") & Rng.Range("A8")        '½Æ»s¦a§}
  14.         .Range("D3") = Rng.Range("A10")                         '½Æ»s­q³f¤é´Á
  15.         .Range("D4") = Rng.Range("A18")                         '½Æ»s¹w´Á¥X³f¤é
  16.         .Range("D5") = Rng.Parent.Range("A2") & Rng             '½Æ»s¥X³f§Ç¸¹
  17.         .Range("D6").Value = Rng.Range("A20")                   '½Æ»sª«¬y½s¸¹
  18.         .Range("F3:F6") = Rng.Range("A14:A17").Value            '½Æ»s­pºâª÷ÃB
  19.         For Each E In Rng.Range("A23:A2022").SpecialCells(xlCellTypeConstants, xlNumbers) '¦³¼Æ¦rªºÀx¦s®æ
  20.             With .Cells(Rows.Count, 1).End(xlUp).Offset(1)      '¥X³f³æ AÄæ:¥Ñ³Ì«á¤@¦C©¹¤W¨ì¦³¸ê®ÆÀx¦s®æ.Offset(1)
  21.                 .Cells(1, 1) = E.Offset(, -E.Column + 1)        '«~¶µ
  22.                 .Cells(1, 2) = E.Offset(, -E.Column + 2)        '«~¦W
  23.                 .Cells(1, 3) = E.Offset(, -E.Column + 3)        'ª÷ÃB
  24.                 .Cells(1, 4) = E                                '¼Æ¶q
  25.                 .Cells(1, 5) = .Cells(1, 3) * .Cells(1, 4)      '¤p­p
  26.             End With
  27.         Next
  28.         .PageSetup.PrintArea = "$A1:$F$" & .Cells(Rows.Count, 1).End(xlUp).Row  '³]©w¦L¦C½d³ò¦Lªí
  29.         .PrintOut  '¦Lªí
  30.     End With
  31. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¼Ó¥D¤À¨É¤è¦¡¸ò§Ú«ÜÃþ¦ü,¤]¦³¦¹»Ý¨D,ÁÂÁª©¥DÀ°¦£

TOP

        ÀR«ä¦Û¦b : µÊ®ð¼L¤Ú¤£¦n¡A¤ß¦a¦A¦n¤]¤£¯àºâ¬O¦n¤H¡C
ªð¦^¦Cªí ¤W¤@¥DÃD