iT邦幫忙

1

請問EXCEL VBA 要尋找字串1開頭移動到指定位置,要重覆判斷

  • 分享至 

  • xImage

各位先進
將列中的資料,分門別列
如第一列中有好幾筆資料
A列有字串開頭有1,2,3
將有1開頭資料複製到旁邊C列
將有2開頭資料複製到旁邊D列
將有3開頭資料複製到旁邊E列
原始資料
1 test

完成樣子
2 test

re.Zero iT邦研究生 5 級 ‧ 2022-12-10 18:45:10 檢舉
I @iThelp: Show me the pictures!
Apple @iCloud: Gone
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
2
ccenjor
iT邦大師 9 級 ‧ 2022-12-10 19:16:02
最佳解答

B2:
=IFERROR(INDEX($A$1:$A$21,SMALL(IF(LEFT($A$2:$A$21)="1",ROW($A$2:$A$21),""),ROW()-1)),"")
向下複製公式到B3:B20。
C2:
=IFERROR(INDEX($A$1:$A$21,SMALL(IF(LEFT($A$2:$A$21)="2",ROW($A$2:$A$21),""),ROW()-1)),"")
向下複製公式到C3:C20。
D2:
=IFERROR(INDEX($A$1:$A$21,SMALL(IF(LEFT($A$2:$A$21)="3",ROW($A$2:$A$21),""),ROW()-1)),"")
向下複製公式到D3:D20。
https://ithelp.ithome.com.tw/upload/images/20221210/201098815saiqZ0W5b.jpg

1
海綿寶寶
iT邦大神 1 級 ‧ 2022-12-10 18:08:27

問問題之前
先把圖片搞定吧
https://ithelp.ithome.com.tw/upload/images/20221210/20001787rR5Xiojduq.jpg

圖片已經搞定
樓下也已經提供解答(不用寫 VBA)

0
miamolla
iT邦新手 5 級 ‧ 2022-12-12 08:12:26

vba參考一下囉
Sub zxc()

sheet1.Range("c2:z5000").ClearContents
mx = sheet1.Range("a1").End(xlDown).Row '
c1 = 2: d1 = 2: e1 = 2

For x = 1 To mx
dn = Left(Range("a" & x + 1), 1) '取左邊第1碼
If dn = 1 Then c = 10
If dn = 2 Then c = 20
If dn = 3 Then c = 30

Select Case c

Case 10
Range("c" & c1) = Range("a" & x + 1) 'columns c
c1 = c1 + 1

Case 20
Range("d" & d1) = Range("a" & x + 1) 'columns d
d1 = d1 + 1
Case 30
Range("e" & e1) = Range("a" & x + 1) 'columns e
e1 = e1 + 1
End Select

Next x
End Sub

感謝大大~我在試看看

我要發表回答

立即登入回答