Excel VBA根据前面单元格中的值填充空白单元格
我是VBA Excel的新手 我正在处理一个excel宏,以根据另一个单元格中的值填充单元格中所有空白行中的某个值 例如,我们有一行:Excel VBA根据前面单元格中的值填充空白单元格,vba,excel,Vba,Excel,我是VBA Excel的新手 我正在处理一个excel宏,以根据另一个单元格中的值填充单元格中所有空白行中的某个值 例如,我们有一行: blank1 blank2 blank3 AR blank4 blank5 DP blank6 blank 7 AR blank8 blank9 DP blank10 bl1nk11 我希望AR之前的所有空白都用“OV”填充,“DP”之前的所有空白单元格都用“OS”填充 请帮助我,我将能够把它集成到我的大代码中 谢谢 通常情况下,我们希望您发布您迄今为止所做的
blank1 blank2 blank3 AR blank4 blank5 DP blank6 blank 7 AR blank8 blank9 DP blank10 bl1nk11
我希望AR之前的所有空白都用“OV”填充,“DP”之前的所有空白单元格都用“OS”填充
请帮助我,我将能够把它集成到我的大代码中
谢谢 通常情况下,我们希望您发布您迄今为止所做的工作,但我很好奇是否能够编写此代码。所以试试这个。如果需要在多行上执行此操作,可以添加另一个循环并将1更改为变量。希望这有帮助
Option Explicit
Sub FillEmpty()
Dim ws As Worksheet
Dim myRange As Range
Dim lColumn As Long
Dim x As Integer
Set ws = Worksheets("Sheet1")
'Find the last column that contains data
lColumn = ws.Cells.Find(What:="*", _
After:=ws.Cells(1, 1), _
LookAt:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Column
With ws
For x = lColumn To 2 Step -1
If .Cells(1, x) = "AR" Then
.Cells(1, x - 1).Value = "OV"
ElseIf .Cells(1, x) = "DP" Then
.Cells(1, x - 1).Value = "OS"
ElseIf .Cells(1, x).Value <> "" And .Cells(1, x - 1).Value = "" Then
.Cells(1, x - 1).Value = .Cells(1, x).Value
End If
Next x
End With
End Sub
选项显式
子FillEmpty()
将ws设置为工作表
将myRange变暗为Range
暗柱与长柱一样
作为整数的Dim x
设置ws=工作表(“表1”)
'查找包含数据的最后一列
lColumn=ws.Cells.Find(What:=“*”_
之后:=ws.Cells(1,1)_
看:=xlPart_
LookIn:=xl公式_
SearchOrder:=xlByColumns_
搜索方向:=xlPrevious_
MatchCase:=False)。列
与ws
对于x=L列,第2步-1
如果.Cells(1,x)=“AR”,则
.Cells(1,x-1).Value=“OV”
其他细胞(1,x)=“DP”则
.Cells(1,x-1).Value=“OS”
ElseIf.Cells(1,x).Value“”和.Cells(1,x-1).Value=”“然后
.Cells(1,x-1).Value=.Cells(1,x).Value
如果结束
下一个x
以
端接头
您有什么代码?有什么问题吗?StackOverflow在这里帮助您解决问题,而不是作为免费的代码编写服务。如果您不了解VBA的特定部分,那么最好将问题集中在该部分。例如,“如何用不同的文本替换字符串中的文本”谢谢。它起了神奇的作用。抱歉没有上传到目前为止完成的工作。这是我加入后第一次使用StackOverflow。