¦hÓ¤å¦rÀÉ,¶×¤J¦P¤@EXCEL SHEET¤º
- ©«¤l
- 5923
- ¥DÃD
- 13
- ºëµØ
- 1
- ¿n¤À
- 5986
- ÂI¦W
- 0
- §@·~¨t²Î
- win10
- ³nÅ骩¥»
- Office 2010
- ¾\ŪÅv
- 150
- ©Ê§O
- ¨k
- ¨Ó¦Û
- ¥xÆW°ò¶©
- µù¥U®É¶¡
- 2010-5-1
- ³Ì«áµn¿ý
- 2022-1-23
        
|
¦^´_ 5# hsiaohsien
¸Õ¸Õ¬Ý- Option Explicit
- Sub Ex()
- Dim ThisPath$, dirFiIe$, RR As Double, TheDate As Date
- Dim Rng As Range, ShRng As Range
- ThisPath = ThisWorkbook.Path & "\"
- dirFiIe = Dir(ThisPath & "*.csv")
- Set Rng = ThisWorkbook.Sheets(1).[B1]
- Rng.CurrentRegion = ""
- Do While dirFiIe <> ""
- With Workbooks.Open(ThisPath & dirFiIe)
- Set ShRng = .Sheets(1).[a1].CurrentRegion
- RR = Rows.Count - Rng.Row + 1
- TheDate = DateSerial(Mid(dirFiIe, 1, 3) + 1911, Mid(dirFiIe, 4, 2), Mid(dirFiIe, 6, 2))
- If ShRng.Rows.Count <= RR Then
- Rng.Resize(ShRng.Rows.Count, 2) = ShRng.Value
- Rng.Offset(, -1).Resize(ShRng.Rows.Count) = TheDate
- Else
- With ShRng
- Rng.Resize(RR, 2) = .Range(.Cells(1, 1), .Cells(RR, 2)).Value
- Rng.Offset(, -1).Resize(RR) = TheDate
- Set Rng = ThisWorkbook.Sheets(1).Cells(1, Rng.Column + 3)
- Rng.Resize(.Rows.Count - RR + 1, 2) = .Range(.Cells(.Rows.Count - RR + 1, 1), .Cells(.Rows.Count, 2)).Value
- Rng.Offset(, -1).Resize(.Rows.Count - RR + 1) = TheDate
- End With
- End If
- .Close
- If Rng.Row = Rows.Count Then
- Set Rng = ThisWorkbook.Sheets(1).Cells(1, Rng.Column + 3)
- Else
- Set Rng = Rng.End(xlDown).Offset(1)
- End If
- End With
- dirFiIe = Dir
- Loop
- ThisWorkbook.Save
- Set Rng = Nothing
- Set ShRng = Nothing
- End Sub
½Æ»s¥N½X |
|
|
|
|
|
|