[英]Select range of cells based on 1 cell value
我试图找出一个 VBA 来根据单元格中的值选择同一行中的单元格范围。 示例:假设 A1 单元格的单元格值为“5”,然后它将选择 5 个相邻的单元格(B1:F1)并对这 5 个单元格输入“确定”然后 VBA 将继续检查病房中的 A2 的值 n 执行与上面相同,但如果在 A 列中找到第一个空白单元格,则 VBA 停止
下面将检查 A 列上的最后一行数据,然后检查每一行以验证 A 列中保存的值是否为数字,然后它将跨列循环多次,用“OK”填充单元格:
Sub ColumnALoop()
Dim ws As Worksheet: Set ws = ThisWorkbook.Worksheets("Sheet1")
'declare and set the worksheet you are working with, amend as required
LastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
'get the last row with data on Column A
For i = 1 To LastRow
'loop through Rows
If IsNumeric(ws.Cells(i, 1).Value) Then ws.Range("B" & i).Resize(, ws.Cells(i, 1).Value).Value = "OK"
'verify the value in Column A is numeric then enter OK in relevant cells
Next i
End Sub
包括 Worksheet_Change 事件:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A:A")) Is Nothing Then
'check if any changes have happened on Column A
For Each c In Target
If c.Column = 1 Then
'ensure that we are looking at Column A as Target could include variable size ranges
If IsNumeric(c) And c.Value <> "" Then Range("B" & c.Row).Resize(, c.Value).Value = "OK"
'if value is numeric and not blank then enter "OK"
End If
Next c
End If
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.