Excel 添加新行并格式化添加的新行
我有一张表,其中行数是动态的。我正在尝试添加一个宏,该宏在每个活动行之后添加一个新行,它应该在添加的每个新行的C列下添加文本“No Show”,并在D列下添加单元格值E5 下面是一个例子: 当前页: 宏后:(E5中的测试为假日) 我有一个宏来添加新的空行,但不知道如何集成它的其他部分Excel 添加新行并格式化添加的新行,excel,vba,Excel,Vba,我有一张表,其中行数是动态的。我正在尝试添加一个宏,该宏在每个活动行之后添加一个新行,它应该在添加的每个新行的C列下添加文本“No Show”,并在D列下添加单元格值E5 下面是一个例子: 当前页: 宏后:(E5中的测试为假日) 我有一个宏来添加新的空行,但不知道如何集成它的其他部分 Sub Insert_Blank_Rows() Selection.End(xlDown).Select Do Until ActiveCell.Row = 1 ActiveCell.EntireRo
Sub Insert_Blank_Rows()
Selection.End(xlDown).Select
Do Until ActiveCell.Row = 1
ActiveCell.EntireRow.Insert shift:=xlDown
ActiveCell.Offset(-1, 0).Select
Loop
End Sub
如果我理解你的问题,你可以: 在本例中,我假设您在单元格E5中有文本Holiday 我试着不改变你的密码 编辑图像和代码 (因为在我使用E1单元之前,我不会将AB…写入新列) 在执行宏之前 后宏 我尝试了代码并成功了 希望这有助于向后循环:
Option Explicit
Sub Insert_Blank_Rows()
Dim iRow As Long
Dim myText As String
myText = Range("E5").Text
With Selection
For iRow = .Rows.Count To 1 Step -1
.Rows(iRow + 1).EntireRow.Insert shift:=xlDown
With .Rows(iRow + 1)
.Range("A1:B1").Value = .Offset(-1).Range("A1:B1").Value
.Range("C1:D1").Value = Array("No Show", myText)
End With
Next
End With
End Sub
我现在用我的代码编辑了这个问题谢谢你的链接…你能评论一下你的代码吗?我想了解一些代码行…这对我来说是新的…谢谢…例如,其中的行是vE5=[E5]…
vE5=[E5]
表示“获取范围E5的值并分配给vE5变量”。因为我不知道有多少行,所以我将E5
range的值存储在变量中。然后我就从下到上。当我插入行时,要复制的数据比插入的数据少一行-因此当前行r
中的“-1”。我尝试了您的代码,但没有按要求“工作”…A列和B列中没有数据。没有节目和假期被写入没有正确的单元格…如果你想回答问题,你必须更新你的代码…@Ferdinando,你试过这个吗?是的,我试过了,但没有“工作”,因为取决于哪个单元格处于活动状态。。。
Option Explicit
Sub Insert_Blank_Rows()
Dim iRow As Long
Dim myText As String
myText = Range("E5").Text
With Selection
For iRow = .Rows.Count To 1 Step -1
.Rows(iRow + 1).EntireRow.Insert shift:=xlDown
With .Rows(iRow + 1)
.Range("A1:B1").Value = .Offset(-1).Range("A1:B1").Value
.Range("C1:D1").Value = Array("No Show", myText)
End With
Next
End With
End Sub
Sub FFF()
Dim r&, vE5
vE5 = [E5]: r = Cells(Rows.Count, 1).End(xlUp).Row + 1
While r > 1
Rows(r).Insert
Cells(r, 1).Resize(, 4) = Array(Cells(r - 1, 1).Resize(, 2), "No Show", vE5)
r = r - 1
Wend
End Sub