¦p¦ó±qAªíÄæ¦ì¦WºÙ¥h·j´MBªí¹ïÀ³ªºÄæ¦ì¦WºÙ,¨Ã±NBªíªº¤º®e¶K¨ìAªí
- ©«¤l
- 2842
- ¥DÃD
- 10
- ºëµØ
- 0
- ¿n¤À
- 2898
- ÂI¦W
- 0
- §@·~¨t²Î
- ¡e²¤¡f
- ³nÅ骩¥»
- ¡e²¤¡f
- ¾\ŪÅv
- 100
- ©Ê§O
- ¨k
- ¨Ó¦Û
- ¡e²¤¡f
- µù¥U®É¶¡
- 2013-5-13
- ³Ì«áµn¿ý
- 2025-4-26
|
Sub MO()
Dim C&, R&, xD, xB As Workbook, Arr, Brr, U&, N&
Set xD = CreateObject("Scripting.Dictionary")
With Sheets("Dump")
.UsedRange.Offset(1, 0).EntireRow.Delete
For C = 1 To .Cells(1, .Columns.Count).End(xlToLeft).Column
xD(.Cells(1, C) & "") = C: N = N + 1
Next
End With
On Error Resume Next
Set xB = Workbooks("vsDataAnrFunction.csv")
On Error GoTo 0
If xB Is Nothing Then Set xB = Workbooks.Open(ThisWorkbook.Path & "\vsDataAnrFunction.csv")
Arr = xB.Sheets(1).UsedRange
ReDim Brr(1 To UBound(Arr), 1 To N)
For C = 1 To UBound(Arr, 2)
U = xD(Arr(1, C) & ""): If U = 0 Then GoTo 101
For R = 2 To UBound(Arr)
Brr(R - 1, U) = Arr(R, C)
Next R
101: Next C
xB.Close 0
Sheets("Dump").[A2].Resize(UBound(Arr) - 1, N).Value = Brr
End Sub
'================================ |
|
|
|
|
|
|
- ©«¤l
- 2842
- ¥DÃD
- 10
- ºëµØ
- 0
- ¿n¤À
- 2898
- ÂI¦W
- 0
- §@·~¨t²Î
- ¡e²¤¡f
- ³nÅ骩¥»
- ¡e²¤¡f
- ¾\ŪÅv
- 100
- ©Ê§O
- ¨k
- ¨Ó¦Û
- ¡e²¤¡f
- µù¥U®É¶¡
- 2013-5-13
- ³Ì«áµn¿ý
- 2025-4-26
|
¥t¤è:
Sub MO_2()
Dim MyBook As Workbook, MySht As Worksheet, xR As Range, xF As Range
Dim FN$, xB As Workbook, xArea As Range
Application.ScreenUpdating = False
Set MyBook = ThisWorkbook '¥»ÀÉ
FN = "vsDataAnrFunction.csv" 'csvÀɮצWºÙ
On Error Resume Next: Set xB = Workbooks(FN): On Error GoTo 0 'ÀˬdcsvÀɬO§_¤w¶}±Ò
If xB Is Nothing Then Set xB = Workbooks.Open(MyBook.Path & "\" & FN) 'YcsvÀÉ¥¼¶}±Ò, ¶}±Ò¤§
Set xArea = xB.Sheets(1).UsedRange '³]©wcsvÀÉ¸ê®Æ½d³ò¬°rangeª«¥ó
'------------------------------------
Set MySht = MyBook.Sheets("Dump") '¥»ÀÉ¸ê®Æ¤u§@ªí
MySht.UsedRange.Offset(1, 0).EntireRow.Delete '²M°£ì¦³¸ê®Æ(«O¯d¼ÐÃD¦æ)
For Each xR In Range(MySht.[A1], MySht.Cells(1, Columns.Count).End(xlToLeft))
Set xF = xArea.Rows(1).Find(xR, Lookat:=xlWhole) '³v¤@´M§äcsv²Ä¤@¦æ²Å¦X¼ÐÃD¤å¦rªº¦ì¸m
If xF Is Nothing Then GoTo 101 '§ä¤£¨ì²Å¦X®É, ²¤¹L
xR.Resize(xArea.Rows.Count).Value = xF.Resize(xArea.Rows.Count).Value '½Æ»s¾ãÄæ¸ê®Æ
101: Next
xB.Close 0
End Sub
'======================================= |
|
|
|
|
|
|