Board logo

標題: [發問] 若儲存格值為Y 新增一欄 數值為1 [打印本頁]

作者: bonnieyu53    時間: 2015-10-31 17:23     標題: 若儲存格值為Y 新增一欄 數值為1

[attach]22283[/attach]
想請教各位大師
若A欄儲存格值為Y
在右邊新增一欄
將有Y的儲存格在B欄變成1

完成如下:
[attach]22284[/attach]



VBA初學者,研究了一下午
就是沒有辦法複製 ...... help
作者: n7822123    時間: 2015-10-31 17:43

回復 1# bonnieyu53

程式碼與範例如下,選擇1種方試理解就可以了:D
  1. Sub 法1()
  2. Columns(2).Insert
  3. For Each rg In Range([a1], Cells(Rows.Count, 1).End(xlUp))
  4. If rg = "Y" Then rg.Offset(, 1) = 1 Else rg.Offset(, 1) = ""
  5. Next
  6. End Sub

  7. Sub 法2()
  8. Columns(2).Insert
  9. R = [a1].CurrentRegion.Rows.Count
  10. For i = 1 To R
  11.   If Cells(i, 1) = "Y" Then Cells(i, 2) = "1" Else Cells(i, 2) = ""
  12. Next
  13. End Sub
複製代碼

作者: n7822123    時間: 2015-10-31 17:58

本帖最後由 n7822123 於 2015-10-31 17:59 編輯

回復 2# n7822123


    抱歉,剛剛漏看了,你的第一欄原本是Y變成空白,更正如下
  1. Sub 法1()
  2. Columns(2).Insert
  3. For Each rg In Range([a1], Cells(Rows.Count, 1).End(xlUp))
  4. If rg = "Y" Then rg.Value = "": rg.Offset(, 1) = 1
  5. Next
  6. End Sub

  7. Sub 法2()
  8. Columns(2).Insert
  9. R = [a1].CurrentRegion.Rows.Count
  10. For i = 1 To R
  11.   If Cells(i, 1) = "Y" Then Cells(i, 1) = "": Cells(i, 2) = 1
  12. Next
  13. End Sub
複製代碼

作者: bonnieyu53    時間: 2015-10-31 19:23

謝謝 n7822123
太感激了,可以使用,非常謝謝您!




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