
我有以下 VBA 代碼從串列“Analysepakket”創建作業表,范圍為 D19:D33,如圖所示。如何更改我的 VBA 代碼,使其僅在另一列中找到值“J”或“j”的新作業表?
Sub CreateSheetsFromList()
Dim ws As Worksheet, Ct As Long, c As Range
Set ws = Worksheets("Opdrachtregistratie")
Application.ScreenUpdating = False
For Each c In Sheets("Laboratorium").Range("D19:D33")
If c.Value <> "" Then
ws.Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = Replace(Left(c.Value, 30), "/", "-")
Ct = Ct 1
End If
Range("C30").Value = c.Value
Next c
If Ct > 0 Then
MsgBox Ct & " new sheets created from list"
Else
MsgBox "No names on list"
End If
Application.ScreenUpdating = True
End Sub
uj5u.com熱心網友回復:
您可以使用該方法檢查一個單元格相對于另一個單元格的值Offset。該方法獲取2個引數,第一個是行數,第二個是列數。兩個引數都可以為 0(分別位于同一行和列)和負數(分別到頂部和左側)。
要將單元格左側讀取到另一個單元格,您可以使用Offset(0, -1)- 0 表示您要讀取同一行,-1 是左側的列。
只需將您的 If 條件更改為
If c.Value <> "" And UCase(c.Offset(0, -1).Value) = "J" Then
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/449919.html
上一篇:為什么outlook.timezones.converttime會導致DST更改錯誤?
下一篇:如果列有值,如何隱藏2列?
