最後我發現這個公式的解決方案:
=IF(A1=0;"";A1&",") & IF(B1=0;"";B1&",") & IF(C1=0;"";C1)
確定這是新的宏的作品:
Columns("AD:AD").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("AD2").Select
ActiveCell.FormulaR1C1 = _
"=IF(RC[-10]=0,"""",RC[-10]&"","") & IF(RC[-9]=0,"""",RC[-9]&"","") & IF(RC[-8]=0,"""",RC[-8]&"","") & IF(RC[-7]=0,"""",RC[-7]&"","") & IF(RC[-6]=0,"""",RC[-6]&"","") & IF(RC[-5]=0,"""",RC[-5]&"","") & IF(RC[-4]=0,"""",RC[-4]&"","") & IF(RC[-3]=0,"""",RC[-3]&"","") & IF(RC[-2]=0,"""",RC[-2]&"","") & IF(RC[-1]=0,"""",RC[-1])"
Selection.AutoFill Destination:=Range("AD2:AD" & Range("A" & Rows.Count).End(xlUp).Row), Type:=xlFillDefault
Range("AD2:AD" & Range("A" & Rows.Count).End(xlUp).Row).Select
Selection.Copy
Range("AE2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("AD:AD,AC:AC,AB:AB,AA:AA,Z:Z,Y:Y,X:X,W:W,V:V,U:U,T:T").Select
Selection.Delete Shift:=xlToLeft
信息
這臺Mac ro將列T,U,V,W,X,Y,Z,AA,AB,AC合併到AD列中,並用逗號分隔值並忽略空白單元格。之後,它將結果複製到AE列中,並刪除不必要的列。所以,當宏完全執行你把所有這列合併入T列
這裏有一個例子:
| IMAGE_1 | IMAGE_2 | MERGED_IMAGES |
| myimage1.jpg | myimage2.jpg | myimage1.jpg,myimage2.jpg |
| myimage1_b.jpg | myimage2_b.jpg | myimage1_b.jpg,myimage2_b.jpg |
| myimage1_c.jpg | myimage2_c.jpg | myimage1_c.jpg,myimage2_c.jpg |
PS !!!
我發現了第二個問題,宏執行後,我發現在單元格值的末尾有一些不需要的逗號的單元格。 所以我要創建一個第二個宏來解決與宏錄製這一問題,這個公式
=IF(RIGHT(J2;1)=",";LEFT(J2;LEN(J2)-1);J2)
,如果你想刪除的的字母「W」可以更改配方,任何你想要的,如A2單元格的值的末尾,你可以像這樣改變這個單元格:
=IF(RIGHT(A2;1)="w";LEFT(A2;LEN(A2)-1);A2)