第一次在这里发布。我试图在下一个“空白行”中填写我的userform值,但该行不会真正空白。我希望用户表单填充的范围将为空白,但是工作表的第一列和最后两列将具有公式。
例如,“ A”,“ D”和“ E”中已经包含公式,我需要在用户表单中填写“ B”和“ C”。我希望这是有道理的。
[208, 114, 95, 49, 38, 36, 35, 20, 24, 19, 15, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0]
这里我在A,R和S中有公式。我希望我的用户表单查看范围B:Q是否为空,如果是,请从用户表单中分配这些值。
答案 0 :(得分:0)
这应该对您的第一次检查有效。可以根据需要进行的逻辑检查
IF ws.Range("B" & lastRow) <> "" Then ws.Range("B" & lastRow) = ComboBox1.Value
答案 1 :(得分:-1)
您可以循环浏览最后一行的单元格,以检查每个单元格是否为空白。如果不是,请对下一行进行相同的操作,直到找到第一行,其中从B列到Q列的所有单元格都为空白。
代码如下:
Sub test()
Dim lastRow As Long
Dim ws As Worksheet
Dim rowFilled As Boolean
Set ws = Sheets("Risk&Opp")
lastRow = ws.Range("B" & Rows.Count).End(xlUp).Row
'Set boolean to true
rowFilled = True
'Count rows until you find a row where range B:Q is blank
While rowFilled = True
rowFilled = False
'Loop from column B (index 2) to column Q (index 17)
For i = 2 To 17
'If one of the cell is not blank increase lastrow
If ws.Cells(lastRow, i) <> "" Then
rowFilled = True
lastRow = lastRow + 1
Exit For
End If
Next i
Wend
'The first row with blank range B:Q
MsgBox lastRow
'...Add your existing code here...
End Sub