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

¤u§@ªí¥t¦s·sÀÉ©M¥HÀx¦s®æ¤º®e©R¦W

¤u§@ªí¥t¦s·sÀÉ©M¥HÀx¦s®æ¤º®e©R¦W

·Q½Ð±Ð¦³¤@­Ó¬¡­¶³¡, ­n±N²Ä2±i, ²Ä3±i©M²Ä4±iWORKSHEET­n¥t¦s¬°3­Ó¿W¥ßWORKBOOK,  ·í¤¤VLOOKUP¸ê®ÆÂର­È, ®æ¦¡¤£ÅÜ.

ÀÉ®×Àx¦s¸ô®|°Ñ·ÓWORKSHEET¤ºRANGE("G1")

¬¡­¶³¡¦WºÙ°Ñ·ÓWORKSHEET¤º¤ºRANGE("G2")

½Ð¦h¦hÀ°¦£:) ¤u§@ªí¥t¦sÀɮרåHÀx¦s®æ¤º®e©R¦W.zip (10.68 KB)

¦^´_ 10# singo1232001
¦hÁ«ü¾É¡I:D

TOP

¦^´_ 12# Andy2483

«D±`·PÁÂ¥[¤J¸ÑÄÀ¡A µL¨p«ü¾É:'(

TOP

¥»©«³Ì«á¥Ñ Andy2483 ©ó 2023-12-13 16:21 ½s¿è

¦^´_ 11# missbb


    ÁÂÁ«e½ú¦A¦^´_,¤@°_¾Ç²ß
«á¾ÇÂǦ¹©«°µ½Æ²ß¤ß±o»P²K¥[·s»Ý¨D,¾Ç²ß¤è®×¦p¤U,½Ð«e½ú°Ñ¦Ò
ªí®æ1:


Option Explicit
Sub TEST()
Application.ScreenUpdating = False
'¡ô¥O¿Ã¹õ¼È¤£ÀHµ{§ÇÅܤƵ²ªG
'Application.DisplayAlerts = False
'¡ô¥Oµ{§Ç¤£¸õ¥X ÀÉ®×­n¤£­nÂл\ ªº¸ß°Ýµ¡,ª½±µÂл\Àx¦s

Dim A, Z, i&, T$, T1$, T2$, F1 As Range, F2 As Range
'¡ô«Å§iÅܼÆ
Set Z = CreateObject("Scripting.Dictionary")
'¡ô¥OZÅܼƬO ¦r¨å
T1 = "¥t¦sÀɮ׸ô®|": T2 = "¥t¦sÀɮצWºÙ"
'¡ô¥OT1,T2ÅܼƬOGJ; Âù¤Þ¸¹¤§¶¡ªº¦r¦ê
For i = 1 To Worksheets.Count
'¡ô³]¶¶°j°é!¥Oi±q1¨ì ¦¹¬¡­¶Ã¯¤u§@ªí¼Æ¶q
   Set F1 = Sheets(i).[1:1].Find(T1, Lookat:=xlWhole)
   '¡ô¥OF1ÅܼƬO ±q²Ä1¦C´M§ä ¨ä¤º®e»P "¥t¦sÀɮ׸ô®|" §¹¥þ¤@¼ËªºÀx¦s®æ
   Set F2 = Sheets(i).[2:2].Find(T2, Lookat:=xlWhole)
   '¡ô¥OF2ÅܼƬO ±q²Ä2¦C´M§ä ¨ä¤º®e»P "¥t¦sÀɮצWºÙ" §¹¥þ¤@¼ËªºÀx¦s®æ
   If F1 Is Nothing Or F2 Is Nothing Then GoTo i01 Else T = F2(1, 2) & "/S"
   '¡ô¦pªGF1ÅܼƩΠF2Åܼƨ䤤¤@­Ó§ä¤£¨ì!´N¸õ¨ì¼Ð¥Ü i01ªº¦ì¸mÄ~Äò°õ¦æ,
   '§_«h´N¥OTÅܼƬOF2ÅܼƦP¤@¦C¥kÃä®æªº¤º®e³s±µ "/S"©Ò²Õ¦¨ªº·s¦r¦ê

   If Z(T) <> "" Then MsgBox F2(1, 2) & " ÀɦW­«½Æ,½ÐÀˬd": Exit Sub
   '¡ô¦pªG¥HTÅܼƬdZ¦r¨å ¦^¶Çitem­È¤£¬OªÅªº!¥NªíÀɮצWºÙ­«½Æ¤F,¸õ¥X´£¥Ü,µ²§ôµ{¦¡°õ¦æ
   Z(T) = F1(1, 2) & "": Set Z(F2(1, 2) & "") = Sheets(i): Z(F2(1, 2) & "/a") = F1.Address
   '¡ô¥OTÅܼƬ°key,item¬O F1ÅܼƦP¤@¦C¥kÃä®æªº¦r¦ê¤º®e,¯Ç¤JZ¦r¨å¤¤
   '¥OF2ÅܼƦP¤@¦C¥kÃä®æªº¦r¦ê¤º®e¬°key,item¬O°j°é¼Æ©Ò¤Þ¸¹¤u§@ªí
   '¥OF2ÅܼƦP¤@¦C¥kÃä®æªº¤º®e³s±µ "/a"©Ò²Õ¦¨ªº¦r¦ê¬°key,item¬O F1ÅܼƪºÀx¦s®æ¦ì§}

i01: Next
For Each A In Z.KEYS
'¡ô³]³v¶µ°j°é!¥OAÅܼƬOZ¦r¨åªºkey¤§¤@
   If Not IsObject(Z(A)) Then GoTo A01 Else T = Z(A & "/S")
   '¡ô¦pªG¥HAÅܼƬdZ¦r¨å¦^¶Çitem¤£¬Oª«¥ó!´N¸õ¨ì¼Ð¥Ü A01¦ì¸mÄ~Äò°õ¦æ,
   '§_«h´N¥OTÅܼƬO ¥HAÅܼƳs±µ "/S"©Ò²Õ¦¨ªº¦r¦ê¬dZ¦r¨å¦^¶Ç­È

   Z(A).Copy: If Dir(T, vbDirectory) = "" Then MkDir T
   '¡ô¥OAÅܼƬdZ¦r¨å¦^¶Ç­È(ª«¥ó:¤u§@ªí) ½Æ»s¤@¥÷¨ì·s¬¡­¶Ã¯
   '¦pªGTÅܼƪº¸ê®Æ§¨¤£¦s¦b!´N«Ø¥ßT(¦r¦ê)Åܼƪº¸ê®Æ§¨

   With ActiveSheet.UsedRange: .Value = .Value: End With
   '¡ô¥O¦¹·s¬¡­¶Ã¯¸Ìªº¸Ó·s¤u§@ªí³£­pºâ¦¨­È(¤½¦¡Åܦ¨­È)
   Range(Z(A & "/a")).Resize(2, 2) = ""
   '¡ô¥OÀɮ׸ô®|»PÀɮצWºÙ4®æÅܦ¨ªÅ®æ
   
   '±N¥t¦s·sÀɪº½d³ò , «ü©w¦bA1 ¦ÜE30 ??
   '¦]¬°»Ý¨D¬O­n«O¯d­ì¨Ó®æ¦¡,©Ò¥H¥H½Æ»s¤u§@ªí¨ì·s¬¡­¶Ã¯,¦A§R°£¤£­nªº½d³ò§Y¥i
   ActiveSheet.UsedRange.Offset([A1:E30].Rows.Count, 0).EntireRow.Delete
   '¡ô¥O«ü©w«O¯dªº½d³ò¥H¤Uªº¦C §R°£
   ActiveSheet.UsedRange.Offset(0, [A1:E30].Columns.Count).EntireColumn.Delete
   '¡ô¥O«ü©w«O¯dªº½d³ò¥k°¼Äæ §R°£
   
   With ActiveWorkbook: .SaveAs Filename:=T & "\" & A: .Close: End With
   '¡ô¥O¦¹·s¬¡­¶Ã¯Àx¦s¨ì«ü©w¸ô®|ªºÀɦW,¤§«áÃö³¬¦¹·s¬¡­¶Ã¯
   ThisWorkbook.Activate
   '¡ô¥Oµ{§Ç¦^¨ì¥»ÀÉ
A01: Next
End Sub
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

¦^´_ 2# Andy2483

±z¦n, ¦A·Q½Ð±Ð¦p¦ó¦b§A³oCODE¤º, ±N¥t¦s·sÀɪº½d³ò , «ü©w¦bA1 ¦ÜE30 ?? ¦]¬°§AªºCODE«Ü²`, ¦b¤@¯ëºô­¶³£Ãø§ä¨ì§@½s¿è:Q

ÁÂÁÂ!

TOP

¥»©«³Ì«á¥Ñ singo1232001 ©ó 2023-12-8 03:07 ½s¿è

¦^´_ 9# missbb


    Sub ¦P¸ê®Æ§¨¾É¥X()

Set outSh = ActiveSheet
Set myBook = ThisWorkbook
        
Filename = outSh.[G2].Value & " " & Format(Now, "yyyyMMdd_HHnnss") & ".xlsx"
' ³]©wÀɮ׫O¦s¸ô®|¡]§ó§ï¬°©Ò»Ý¸ô®|¡^
filePath = myBook.Path & "\" & Filename

outSh.Copy
Set NewWorkbook = ActiveWorkbook
    ' «O¦s·s¤u§@ï
NewWorkbook.SaveAs Filename:=filePath
End Sub


Sub G1G2¥t¦s¸ô®|¾É¥X()

Set outSh = ActiveSheet
Set myBook = ThisWorkbook
        
Filename = outSh.[G2].Value & " " & Format(Now, "yyyyMMdd_HHnnss") & ".xlsx"
' ³]©wÀɮ׫O¦s¸ô®|¡]§ó§ï¬°©Ò»Ý¸ô®|¡^
filePath = Range("G1").Value & "\" & Filename

outSh.Copy
Set NewWorkbook = ActiveWorkbook
    ' «O¦s·s¤u§@ï
NewWorkbook.SaveAs Filename:=filePath
End Sub



Sub ¸ê®Æ¿ï¾Ü¾¹¸ô®|¾É¥X()


Set fd = Excel.Application.FileDialog(msoFileDialogFolderPicker)  '³]©w¿ï¨úÀÉ®×¥\¯à
fd.InitialFileName = Excel.ActiveWorkbook.Path  '³]©w¹w³]¥Ø¿ý
fd.Show 'Åã¥Ü¹ï¸Ü®Ø
If fd.SelectedItems.Count = 0 Then Exit Sub
Set myBook = ThisWorkbook
Set outSh = ActiveSheet
myPath = fd.SelectedItems(1)

Filename = outSh.[G2].Value & " " & Format(Now, "yyyyMMdd_HHnnss") & ".xlsx"
' ³]©wÀɮ׫O¦s¸ô®|¡]§ó§ï¬°©Ò»Ý¸ô®|¡^
filePath = Range("G1").Value & "\" & Filename

outSh.Copy
Set NewWorkbook = ActiveWorkbook
    ' «O¦s·s¤u§@ï
NewWorkbook.SaveAs Filename:=filePath
End Sub

TOP

¦^´_ 8# Andy2483


    ¦]¬°¤u§@»Ý­n¡A¥¼¥²¨C¦¸³£­n¥t¦s©Ò¦³¤u§@ªí¡C§Ú·|°Ñ·Ó§A´£¨Ñªº¸ê®Æ¦A¸Õ¡A«D±`·PÁÂ:)

TOP

¦^´_ 7# missbb


    ÁÂÁ«e½ú¦A«ü±Ð
1.³¡¤À¥t¦sªº·N¸q¬°¦ó?
¥t¦sªº¥Ø¼Ð¸ê®Æ§¨¦ì¸m³£¤@¼Ë,§Y¨Ï¬O³¡¤À¥t¦s,³o¨Ç¥t¦sÀÉÁÙ¬O²V¦P¤@¸ê®Æ§¨¸Ì,¨ú¥Î¤@¼Ë»Ý­n¦bÀÉ®×Á`ºÞ¬D¿ï,©Ò¥H³¡¤À¥t¦s·|Åܱo·N¸q¤£¤j,³o¬O·|¦³¦¹ºÃ°Ýªº­ì¦]

2.©Î»¡©ú³o¨Ç¥t¦sªº¥Î³~.¥t¦sÀW²v....µ¥

3.¦pªG¥u¬O¦C¦L«á¥t¦s,¥i°Ñ¦Ò¥H¤UÃìµ²©«
https://forum.twbts.com/viewthre ... mp;page=2#pid122046
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

¥»©«³Ì«á¥Ñ missbb ©ó 2023-12-6 00:04 ½s¿è
¦^´_  missbb


    ÁÂÁ«e½ú¦^´_,­×§ï¦p¤U,½Ð«e½ú°Ñ¦Ò
¦C¦L½d³ò(¤u§@ªí1©M2©Î¦³¤£¦P):¸g´ú¸Õ ­ì¤u§@ªí ...
Andy2483 µoªí©ó 2023-12-5 14:16


§A¦n , ¤@ª½¦b¸Õ¥Î , ²{®É¥i¬O±N¥þ³¡¤u§@ªí2,¤u§@ªí3©M¤u§@ªí4¥t¦s¬°·sªºWORKBOOK.  ¦ý¦pªG¥u­n¤u§@ªí2©M¤u§@ªí4¥t¦sWORKSBOOK (¤S©Î¬O¥u¥t¦s¤u§@ªí4µ¥¤£¦P±¡ªp), ¥i§_¥ÎINPUT BOX¿é¤J¨Ó¨î§@?  :(

TOP

¦^´_ 5# Andy2483


    «D±`·PÁÂ!

TOP

        ÀR«ä¦Û¦b : ¡i®É¶¡¦¨´N¤@¤Á¡j®É¶¡¥i¥H³y´N¤H®æ¡A¥i¥H¦¨´N¨Æ·~¡A¤]¥i¥HÀx¿n¥\¼w¡C
ªð¦^¦Cªí ¤W¤@¥DÃD