将列的非空单元格命名为前一列的值
Naming the non-empty cells of a column as the previous column's values
所以我想要的是一个按钮,当按下它时会自动将右侧列单元格命名为左侧列值,我现在的代码看起来像这样,
Private Sub CommandButton1_Click()
Range("F3").Name = Range("E3")
Range("F4").Name = Range("E4")
Range("F5").Name = Range("E5")
Range("F6").Name = Range("E6")
End Sub
我是 VBA 的新手,环顾四周但找不到我想要实现的目标。只需要一个简单的解决方案,它可以自动执行我的代码已经执行的操作,而不必特定于单元格行。
我想如果单元格为空,将会有一个 while 或 for 循环重复多行,并且代码的 if 语句不是 运行ning。
基本上我希望命令 运行 类似于下面的内容,但我自己不太知道如何在 excel VBA 中编写它。
for j=3:100
if F(j) = non empty
F(j).name = E(j)
else end
next j
end
下图显示了最终结果:
从您的示例图片来看,这看起来应该可行。
Option Explicit
Sub name_eff()
Dim rw As Long
With Worksheets("Sheet6")
For rw = 2 To Application.Min(.Cells(.Rows.Count, "E").End(xlUp).Row, _
.Cells(.Rows.Count, "F").End(xlUp).Row)
If Application.CountA(.Cells(rw, "E").Resize(1, 2)) = 2 Then _
.Cells(rw, "F").Name = .Cells(rw, "E").Text
Next rw
End With
End Sub
所以我想要的是一个按钮,当按下它时会自动将右侧列单元格命名为左侧列值,我现在的代码看起来像这样,
Private Sub CommandButton1_Click()
Range("F3").Name = Range("E3")
Range("F4").Name = Range("E4")
Range("F5").Name = Range("E5")
Range("F6").Name = Range("E6")
End Sub
我是 VBA 的新手,环顾四周但找不到我想要实现的目标。只需要一个简单的解决方案,它可以自动执行我的代码已经执行的操作,而不必特定于单元格行。 我想如果单元格为空,将会有一个 while 或 for 循环重复多行,并且代码的 if 语句不是 运行ning。
基本上我希望命令 运行 类似于下面的内容,但我自己不太知道如何在 excel VBA 中编写它。
for j=3:100
if F(j) = non empty
F(j).name = E(j)
else end
next j
end
下图显示了最终结果:
从您的示例图片来看,这看起来应该可行。
Option Explicit
Sub name_eff()
Dim rw As Long
With Worksheets("Sheet6")
For rw = 2 To Application.Min(.Cells(.Rows.Count, "E").End(xlUp).Row, _
.Cells(.Rows.Count, "F").End(xlUp).Row)
If Application.CountA(.Cells(rw, "E").Resize(1, 2)) = 2 Then _
.Cells(rw, "F").Name = .Cells(rw, "E").Text
Next rw
End With
End Sub