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

[µo°Ý] ¿z¿ï¸ê®Æ¨Ã¥B©ñ¨ì·sªºSheet¸Ì

¦^´_ 1# candy516
¸Õ¸Õ¬Ý
  1. Option Explicit
  2. Sub Ex()
  3.     Dim Rng As Range, °£®§¤é As Date, ªÑ²¼ As Range, R As Range, Ar(), i As Integer
  4.     With Sheets("Sheet1")
  5.         .Activate
  6.         Set Rng = .Range("A2:A" & .Range("A2").End(xlDown).Row)  '³]©wSheet1ªÑ²¼½d³ò
  7.         If Application.Intersect(Rng, ActiveCell) Is Nothing Then  '¨S¦³¿ï¾Ü¨ìªÑ²¼
  8.             MsgBox "ªÑ²¼¥N¸¹: ¦³»~"
  9.             Exit Sub
  10.         End If
  11.         Set Rng = ActiveCell
  12.         'Rng(1, 2) = Rng.Cells(1, 2)
  13.         °£®§¤é = Mid(Rng(1, 2), 1, 4) & "/" & Mid(Rng(1, 2), 5, 2) & "/" & Mid(Rng(1, 2), 7, 2)
  14.     End With
  15.     ReDim Ar(1, 0)
  16.     With Sheets(Mid(Rng(1, 2), 1, 4))     '°£®§¦~«×¤u§@ªí
  17.         Set ªÑ²¼ = .Rows(1).Find(Rng, LOOKAT:=xlPart, LookIn:=xlValues)  '§ä¨ìªÑ²¼¥N¸¹¦WºÙ ¤é³ø¹S²vÄæ¦ì
  18.         For Each R In .Range("A3:A" & .Range("A3").End(xlDown).Row)     '
  19.             If R >= °£®§¤é And R <= °£®§¤é + 14 Then
  20.                 Ar(0, i) = R
  21.                 Ar(1, i) = R.Cells(1, ªÑ²¼.Column)
  22.                 i = i + 1
  23.                 ReDim Preserve Ar(1, i)  '¼W¥[°}¦Cªººû¼Æ
  24.             End If
  25.         Next
  26.     End With
  27.     If i = 0 Then
  28.         MsgBox "§ä¤£¨ì" & ªÑ²¼ & "¤é³ø¹S²v"
  29.         Exit Sub
  30.     End If
  31.     With Sheets("Sheet2").Range("IV1").End(xlToLeft).Offset(, 1)  'Range("IV1")©¹¥ª¦³¸ê®Æªº²Ä¤@­ÓÀx¦s®æ->Offset(, 1) ¦V¥k²¾°Ê¤@Äæ
  32.         .Cells(1, 2) = ªÑ²¼
  33.         .Cells(2, 1) = "¦~¤ë¤é"
  34.         .Cells(2, 2) = "¤é³ø¹S²v"
  35.         .Cells(3, 1).Resize(i, 2) = Application.WorksheetFunction.Transpose(Ar)
  36.     End With
  37.     End
  38. End Sub
½Æ»s¥N½X

TOP

¦^´_ 3# candy516
¶ÇÀɨӬݬÝ

TOP

¦^´_ 9# candy516
ªÑ²¼¥N¸¹: ¦³»~
ªí¥Ü¦bSheets("Sheet1") ¨S¦³¥Î·Æ¹«¿ï©wªÑ²¼¥N¸¹
§AªºÀÉ®×Sheets("Sheet1")¬O¿ï¦b A1  "ÃÒ¨é¥N½X"
½Ð¦bSheets("Sheet1")ªºAÄæ  ¿ï©w¤@®aªº ÃÒ¨é¥N½X ¦A¸Õ¸Õ

TOP

¦^´_ 13# candy516
§A1¼Óªº¶D¨D¤£¬O³o¼Ë?
ÁÙ¦³¨ä¥L·Qªk»¡»¡¬Ý

TOP

¦^´_ 15# candy516
¸Õ¸Õ¬Ý¬O§_¤@¼Ë
  1. Sub Ex()
  2.     Dim °£®§¤é As Date, ªÑ²¼ As Range, R As Range, Ar(), E As Integer, i As Integer, ii As Integer
  3.     Sheets("Sheet2").Cells.Clear
  4.     For E = 2 To Sheets("Sheet1").UsedRange.Rows.Count
  5.         Set ªÑ²¼ = Sheets("Sheet1").UsedRange.Rows(E).Cells(1)
  6.         °£®§¤é = Format(Sheets("Sheet1").UsedRange.Rows(E).Cells(2), "0000/00/00")
  7.         ReDim Ar(1, 0)
  8.         i = 0
  9.         ii = 1
  10.         With Sheets(Year(°£®§¤é) & "")
  11.             Set ªÑ²¼ = .Rows(1).Find(ªÑ²¼, LOOKAT:=xlPart, LookIn:=xlValues)  '§ä¨ìªÑ²¼¥N¸¹¦WºÙ ¤é³ø¹S²vÄæ¦ì
  12.             For Each R In .Range("A3:A" & .Range("A3").End(xlDown).Row)     '
  13.                 If R >= °£®§¤é And R <= °£®§¤é + 14 Then
  14.                     Ar(0, i) = R
  15.                     Ar(1, i) = R.Cells(1, ªÑ²¼.Column)
  16.                     i = i + 1
  17.                     ReDim Preserve Ar(1, i)  '¼W¥[°}¦Cªººû¼Æ
  18.                 End If
  19.             Next
  20.             If i > 0 Then
  21.                 If Sheets("Sheet2").Range("IV" & ii).End(xlToLeft).Offset(, 1).Column >= Columns.Count - 1 Then ii = ii + 14
  22.                 With Sheets("Sheet2").Range("IV" & ii).End(xlToLeft).Offset(, 1) 'Range("IV1")©¹¥ª¦³¸ê®Æªº²Ä¤@­ÓÀx¦s®æ->Offset(, 1) ¦V¥k²¾°Ê¤@Äæ
  23.                     .Cells(1, 2) = ªÑ²¼
  24.                     .Cells(2, 1) = "¦~¤ë¤é"
  25.                     .Cells(2, 2) = "¤é³ø¹S²v"
  26.                     .Cells(3, 1).Resize(i, 2) = Application.WorksheetFunction.Transpose(Ar)
  27.                 End With
  28.             End If
  29.         End With
  30.     Next
  31.     With Sheets("Sheet2")
  32.         .Columns(1).Delete
  33.         .Cells.EntireColumn.AutoFit
  34.         .Cells.EntireRow.AutoFit
  35.     End With
  36. End Sub
½Æ»s¥N½X

TOP

        ÀR«ä¦Û¦b : ¤Hªº¤ß¦a¬O¤@²¥¥Ð¡A¤g¦a¨S¦³¼½¤U¦nºØ¤l¡A¤]ªø¤£¥X¦nªºªG¹ê¡C -
ªð¦^¦Cªí ¤W¤@¥DÃD