丁元
Lv 5
丁元 發問時間: 電腦與網際網路程式設計 · 2 年前

EXCEL VBA 語法抓工作表 D 欄大於等於5的資料到第二個工作表應該怎樣寫?

各位 VBA 高手

我想寫一個簡單的 VBA 程式

如果有數筆在「工作表1」資料欄位為

姓名 起始日 結束日 天數

小白 1070101 1070109 8

小黑 1070101 1070103 3

小綠 1070101 1070105 5

小黃 1070101 1070102 2

我想要把天數 >=5 抓到「工作表2」依序貼上,應該怎樣寫 VBA 語法? 謝謝

1 個解答

評分
  • 匿名使用者
    2 年前
    最佳解答

    Public Sub CopyByCriteria()

    Dim rng As Range

    Dim rngData As Range

    Dim freeCell As Integer

    Sheets("Sheet1").Select

    Set rngData = Range("a2:d5")

    For Each rng In rngData.Rows

    If rng.Cells(1, 4) >= 5 Then

    rng.Select

    Selection.Copy

    Sheets("Sheet2").Select

    ' find the first available blank cell

    freeCell = Range("A1:A" & Rows.Count).Cells.SpecialCells(xlCellTypeBlanks).Row

    Range("a" & freeCell).Select

    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _

    SkipBlanks:=False, Transpose:=False

    Sheets("Sheet1").Select

    End If

    Next

    End Sub

    • 丁元
      Lv 5
      2 年前檢舉

      謝謝 John Orz
      它終於能跑了,今天才又回來看到您的更新,大感謝。

還有問題?馬上發問,尋求解答。