[英]Find and select first blank cell in column B with Excel vba
The below code works fine to find the first empty cell in a given column (here column B). 以下代码可以很好地找到给定列(此处为B列)中的第一个空单元格。 But what I need is a code to find the first blank cell in that column. 但是我需要的是找到该列第一个空白单元格的代码。
Sub macro1()
Dim sourceCol As Integer, rowCount As Integer, currentRow As Integer
Dim currentRowValue As String
sourceCol = 2 'column B has a value of 2
rowCount = Cells(Rows.Count, sourceCol).End(xlUp).Row
'for every row, find the first blank cell and select it
For currentRow = 1 To rowCount
currentRowValue = Cells(currentRow, sourceCol).Value
If IsEmpty(currentRowValue) Or currentRowValue = "" Then
Cells(currentRow, sourceCol).Select
End If
Next
End Sub
Also, it should start looking from row 10 instead of row 1. 另外,它应该从第10行而不是第1行开始查找。
Can somebody rewrite this code to do this? 有人可以重写此代码来做到这一点吗?
Could something like this be what you're looking for: 您想要的是这样的东西吗?
Sub test()
Dim ws As Worksheet
Set ws = ActiveSheet
For Each cell In ws.Columns(2).Cells
If IsEmpty(cell) = True Then cell.Select: Exit For
Next cell
End Sub
This will run through each cell in column B in the active worksheet and select the first empty one it comes across. 这将遍历活动工作表中B列的每个单元格,并选择它遇到的第一个空单元格。 To set the sheet to a particular one Change Set ws = ActiveSheet
to Set ws = Sheets("EnterSheetNameHere")
要将工作表设置为特定的一个, Set ws = ActiveSheet
Set ws = Sheets("EnterSheetNameHere")
Or you could try using: 或者您可以尝试使用:
Sub test()
Dim ws As Worksheet
Set ws = ActiveSheet
For Each cell In ws.Columns(2).Cells
If Len(cell) = 0 Then cell.Select: Exit For
Next cell
End Sub
My problem is solved by using the following code. 我的问题通过使用以下代码解决。
Sheets("sheet1").Select
Dim LR2 As Long, cell2 As Range, rng2 As Range
With Sheets("sheet1")
LR2 = .Range("B" & Rows.Count).End(xlUp).Row
For Each cell2 In .Range("B8:B" & LR2)
If cell2.Value <> "" Then
If rng2 Is Nothing Then
Set rng2 = cell2
Else
Set rng2 = Union(rng2, cell2)
End If
End If
Next cell2
rng2.Select
End With
Just my two cents. 只是我的两分钱。
The function will look for the first encountered BLANK cell in a range, so it should work with columns and rows. 该函数将查找范围中第一个遇到的BLANK单元,因此它应适用于列和行。
'Find first BLANK cell in a given range, returnt a range (one cell)
Function FirstBlank(ByVal rWhere As Range) As Range
Dim vCell As Variant
Dim answer As Range
Set answer = Nothing
For Each vCell In rWhere.Cells
If Len(vCell.Formula) = 0 Then
Set answer = vCell
Exit For
End If
Next vCell
Set FirstBlank = answer
End Function
And then do whatever you want with the cell. 然后对单元格进行任何您想要的操作。
Try this code to select the first empty cell below cell B10. 尝试使用此代码选择单元格B10下的第一个空单元格。 But it requires B10 and B11 to be pre-occupied. 但这要求B10和B11被预先占用。
Range("B10").End(xlDown).Offset(1, 0).Select Range(“ B10”)。End(xlDown).Offset(1、0)。选择
or 要么
Range("B100000").End(xlUp).Offset(1, 0).Select 范围(“ B100000”)。结束(xlUp)。偏移量(1、0)。选择
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.