如何使用Excel中相邻列的特定文本填写表格列?

时间:2018-05-30 02:11:26

标签: regex excel vba

我使用Excel来存放定性转录本的数据库(从Word复制)。每个成绩单都遵循相同的大纲,在问题中提供不同主题的部分。当我粘贴脚本时,我希望在文本左侧有一列识别节标题,并用该节标题填充列,直到下一节标题出现。现在,我手动输入节标题并拖动它直到下一节开始。enter image description here

2 个答案:

答案 0 :(得分:0)

您可以使用B列中的某个功能来获取此功能,只要每个部分都以单词" Section"并且所有不是标题的部分都不以单词" Section"开头。

=IF(LEFT(C2,7) = "Section",C2,B1)

在你的例子中,如果你在单元格B2中粘贴这个函数并填充(以保持相对引用),它应该可以解决问题。

答案 1 :(得分:0)

与VBA相同

Option Explicit

Public Sub FillDownInfo()

    Application.ScreenUpdating = False
    Dim lastRowC As Long, rng As Range

    With ActiveSheet

       lastRowC = .Cells(.Rows.Count, "C").End(xlUp).Row

       For Each rng In .Range("B2:B" & lastRowC)
           If InStr(1, rng.Offset(, 1).Value, "Section") > 0 Then
               rng = rng.Offset(, 1)
           Else
              rng = rng.Offset(-1, 0)
           End If
       Next rng
    End With

    Application.ScreenUpdating = True
End Sub