如果C列中的相关单元格通过VBA为空,aut如何在B列中创建原始编号?

如果C列中的相关单元格通过VBA为空,aut如何在B列中创建原始编号?,vba,excel,function,excel-formula,Vba,Excel,Function,Excel Formula,如何在VBA中创建代码,可以执行以下命令: -一旦将任何信息(值或数据)输入到C列中的相对单元格中,就会在B列中自动为该原始单元格创建编号。 例如:一旦用户在C4列中输入请求文本,AUT将在B4列中创建请求编号。我已经创建了下面的代码,但它不工作。你能帮个忙吗 Sub requestnumber() Dim lRow As Integer Dim i As Integer Dim m As Integer lRow = Cells(Rows.Count, 2).End(xlUp).Row

如何在VBA中创建代码,可以执行以下命令: -一旦将任何信息(值或数据)输入到C列中的相对单元格中,就会在B列中自动为该原始单元格创建编号。 例如:一旦用户在C4列中输入请求文本,AUT将在B4列中创建请求编号。我已经创建了下面的代码,但它不工作。你能帮个忙吗

Sub requestnumber()

Dim lRow As Integer
Dim i As Integer
Dim m As Integer

lRow = Cells(Rows.Count, 2).End(xlUp).Row

For i = 1 To i = lRow

m = Range("B1").Offset(i, 0).Activate

If Range("B1").Offset(i, 0) <> "" Then

Range("A1").Offset(i, 0) = lRow

Exit For

End If

Next i

End Sub
子请求编号()
Dim lRow作为整数
作为整数的Dim i
将m作为整数
lRow=单元格(Rows.Count,2).结束(xlUp).行
对于i=1到i=lRow
m=范围(“B1”)。偏移量(i,0)。激活
如果范围(“B1”)。偏移量(i,0)”,则
范围(“A1”)。偏移量(i,0)=lRow
退出
如果结束
接下来我
端接头
谢谢!
Shahla H.

我想猜猜你想要什么。如果在填充C列中的单元格时需要B列中的行数,则不需要VBA。只需在B列中键入公式:

=IF(ISBLANK(C1), "", ROW())

我认为您要做的是,当人们在C列中输入时,在B列中分配一个唯一的请求id号。在这种情况下,您只需要在数据输入后运行代码,因此您需要将代码附加到工作表代码模块中的工作表更新事件:

Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Column = 3 Then
      Target.Offset(0, -1).Value = Application.WorksheetFunction.Max(Range("b:b")) + 1

 End If
End Sub

数字必须是唯一的且不重复吗?分配的数字有限制吗?不能在同一行上声明多个Dim。您应该使用For i=1到lRow,我认为范围(“B1”)。偏移量(i,0)。不激活m=Range(“B1”)。偏移量(i,0)。激活
它不工作
不描述正在经历的问题。它绝对没有提供可用于提供解决方案的信息,您真的想循环B列,查看同一列中的单元格是否不为空,如果不为空,则将当前行中的a列值设置为lrow值吗?你的问题意味着没有。首先,您需要更改偏移逻辑。