返回列表 上一主題 發帖

[發問] 垂直欄位項目轉至水平列顯示

試試看:
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.     Dim MH, RngB As Range, Rng2 As Range
  3.     Set RngB = [B3:B65536]    '輸入區
  4.     Set Rng2 = [C2:O2]        '比對區
  5.     If Target.Count > 1 Then Exit Sub      '如果兩格以上同時Change,跳出
  6.     If Not Intersect(Target, RngB) Is Nothing Then   '如果 Target 與 比對區 有交集
  7.         If Target = "" Then
  8.             Cells(Target.Row, "B").Resize(1, 14) = ""  '如果Change的是空白,清除該列
  9.         End If
  10.         MH = Application.Match(Target, Rng2, 0)    '在比對區找出 Target 在第2列的位置
  11.         If IsNumeric(MH) Then          '如比對成功傳回在比對的列數, 否則傳回錯誤訊息
  12.                                        '故先用 IsNumeric(MH) 判斷MH是否為數字
  13.             Cells(Target.Row, MH + 2) = 1     '若有符合,填入1
  14.         End If
  15.     End If
  16. End Sub
複製代碼

TOP

        靜思自在 : 犯錯出懺悔心,才能清淨無煩惱。
返回列表 上一主題