Board logo

標題: [發問] 求救~VBA撰寫 [打印本頁]

作者: peter631114    時間: 2018-6-12 15:51     標題: 求救~VBA撰寫

Dear 大大
我這邊有一個VBA問題,不知道如何撰寫,可以請各位專家協助幫忙

問題如下圖所示,希望最後呈現結果如K欄與M欄,基本上問題就是
利用B欄內的條件依序判斷,

1.        B2=B3,則K2=A2 與 M2=A3
2.        B2=B4,則K3=A2 與 M3=A4
3.        B2=B5,則K4=A2 與 M4=A5
4.        B2<>B6則往下跳至B3儲存格進行作業
5.        B3=B4, 則K5=A3 與 M5=A4
6.        B3=B5, 則K6=A3 與 M6=A5
7.        B3<>B6則往下跳至B4儲存格進行作業

問題如下圖所示,希望最後呈現結果如K欄與M欄,基本上問題就是
利用B欄內的條件依序判斷,

1.        B2=B3,則K2=A2 與 M2=A3
2.        B2=B4,則K3=A2 與 M3=A4
3.        B2=B5,則K4=A2 與 M4=A5
4.        B2<>B6則往下跳至B3儲存格進行作業
5.        B3=B4, 則K5=A3 與 M5=A4
6.        B3=B5, 則K6=A3 與 M6=A5
7.        B3<>B6則往下跳至B4儲存格進行作業

[attach]28823[/attach]

[attach]28822[/attach]
作者: GBKEE    時間: 2018-6-13 10:49

回復 1# peter631114
試試看
  1. Option Explicit
  2. Sub Test()
  3.     Dim Rng As Range, i, ii
  4.     Set Rng = [b2]
  5.     ' Rng.Cells(1) =[b2], Rng.Cells(2) =[b3]
  6.     ' Rng.Offset(, -1)  , -1 為 向左一欄(A),0 為 Rng所在的欄位(B),1 為 向右一欄(C)
  7.      'Rng.Offset(i - 1, -1)  ,i - 1 為 列號
  8.     ii = 2
  9.     Do While Rng <> ""
  10.         i = 2
  11.         Do While Rng = Rng.Cells(i)
  12.             Cells(ii, "k") = Rng.Offset(, -1)
  13.             Cells(ii, "m") = Rng.Offset(i - 1, -1)
  14.             i = i + 1:             ii = ii + 1
  15.          Loop
  16.         Set Rng = Rng.Offset(1)
  17.     Loop
  18. End Sub
複製代碼

作者: peter631114    時間: 2018-6-13 21:49

回復 2# GBKEE
大大:
真的是萬分感謝,可以用了~~謝謝~~我愛這個討論區了~~我要慢慢吸收大大你所撰寫的內容,有問題我再提出詢問~~再次感謝
作者: peter631114    時間: 2019-6-11 17:09

回復 3# peter631114
作者: peter631114    時間: 2019-6-11 17:10

大大
不好意思,上次說明有誤,可否參考上面敘述,重新幫忙修改




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)