Excel VBA根据前面单元格中的值填充空白单元格

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”填充 请帮助我,我将能够把它集成到我的大代码中 谢谢 通常情况下,我们希望您发布您迄今为止所做的

我是VBA Excel的新手

我正在处理一个excel宏,以根据另一个单元格中的值填充单元格中所有空白行中的某个值

例如,我们有一行:

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。