返回列表 上一主題 發帖

[發問] 請問VBA 同一列尋找多個條件的值該如何做

[發問] 請問VBA 同一列尋找多個條件的值該如何做

尋找多個列條件.rar (21.43 KB) Dear 大大:
小弟請教一下,如果我在 MPS_TEST 之工作表裏想得到 使用機種 A 的投产日期(起)與投产日期(止),資料來源是"排程"工作表裏的A欄的A機種),再加上I 欄是要投入,然後會自動選如第5列又J欄~AX欄裏有數字者,第一個數字者對應上日期是投产日期(起)-->如4/19, 最後一個數字對應上日期是投产日期(止)-->如4/21,請問神人大大們VBA 該如何寫??

回復 1# scjiao
試試看:
  1. Sub test()
  2.     Dim sh1, sh2 As Worksheet
  3.     Dim i, j, k As Integer
  4.     Set sh1 = Sheets("MPS_TEST")
  5.     Set sh2 = Sheets("排程")
  6.     Sheets("排程").Activate
  7.     With sh2
  8.     For i = 1 To 35
  9.        sh1.Cells(i * 8 - 3, 1).Resize(8, 1) = .Cells(i * 2 + 3, 1)
  10.        For j = 10 To 50
  11.            .Cells(i * 2 + 3, j).Select
  12.            If .Cells(i * 2 + 3, j) <> "" Then
  13.                 .Cells(3, .Cells(i * 2 + 3, j).Column).Select
  14.                 sh1.Cells(i * 8 - 3, 2).Resize(8, 1) = .Cells(3, .Cells(i * 2 + 3, j).Column)
  15.                 sh1.Cells(i * 8 - 3, 3).Resize(8, 1) = .Cells(3, .Cells(i * 2 + 3, j).Column)
  16.                 k = j
  17.                 Do
  18.                     k = k + 1
  19.                     If .Cells(i * 2 + 3, k) <> "" Then
  20.                         sh1.Cells(i * 8 - 3, 3).Resize(8, 1) = .Cells(3, .Cells(i * 2 + 3, k).Column)
  21.                     End If
  22.                 Loop Until k > 50
  23.                 If k > 50 Then GoTo nextI
  24.            End If
  25.        Next
  26. nextI:
  27.     Next
  28.     End With
  29. End Sub
複製代碼

TOP

回復 2# yen956
謝謝大大,我試試看

TOP

        靜思自在 : 【蒙蔽的自由】人常在什麼都可以自由自在的時候,卻被這種隨心所欲的自由蒙蔽,虛擲時光而毫無覺知。
返回列表 上一主題