我是VBA Excel的新手。
我正在使用excel宏来根据另一个单元格中的值填充单元格中所有空白行的特定值。
比如说,我们有一行:
Data have;
Name= "John";
City="ice";
'06/2006'n= 23;
'07/2006'n = 56;
'12/2006'n = 43;
'11/2006'n = 23;
'10/2006'n = 12;
Run;
Data want;
Name= "John";
City="ice";
V1= 23;
V2 = 56;
V3= 43;
V4 = 23;
V5= 12;
Run;
我希望AR之前的所有空格都填充“OV”,并且“DP”之前的所有空白单元格都填充“OS”
请帮助我,我将能够将它集成到我的大代码中。
感谢。
答案 0 :(得分:1)
通常我们希望你发布你到目前为止所做的事情,但我很好奇我是否可以编码或不编码。所以!试试这个。如果您需要在多行上执行此操作,则可以添加另一个循环并将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