【问题标题】:Copy and paste below the yellow highlighted row复制并粘贴到黄色突出显示的行下方
【发布时间】:2019-06-26 21:51:38
【问题描述】:

不确定这是否有可能,但可以。我对这个 vba 代码处于停滞状态。我尝试附上一个图片示例 - 不确定它是否会正确显示。

一切都是蓝色字体,我已经创建了一个 vba 代码来直接从顶行向下复制它

1) 我需要一个宏,它会在标题行 1 中的所有单元格中查找“Cont Type”,如果在其中找到任何单元格,则在黄色突出显示行正下方的同一列中(在这种情况下,它是第 5 行,但它可能会改变,因为数据会每天更新),输入“财务”一词,“财务”一词必须一直向下以匹配 A 列中的行数。

单击链接以查看我正在尝试完成的示例 Example

【问题讨论】:

  • “我需要一个宏” 意味着你必须编写那个宏。请注意,由于这不是免费的代码编写服务,因此有必要显示您迄今为止尝试过的内容以及遇到的问题或错误(通过显示您的代码),或者至少显示您的研究内容和所做的努力.否则,它只是要求我们为您完成所有工作。阅读How to Ask 可能会帮助您改进您的问题。

标签: excel vba header


【解决方案1】:

您需要使用循环来执行此操作。所以是这样的:

x = 1 'the starting column to look for content type
Do While cells(1, x) <> "" 'look in every column until your columns are empty
If Cells(1, x) = "Cont Type" Then
Range(Cells(6, x), Cells(n, x)) = "Finance" 'With n equaling your last column to insert this to
Else
End If
x = x + 1 'go to the next column to look
Loop

【讨论】:

  • 您好!我非常感谢您提供的这个宏,但它没有用并且一直卡在这条线上:Range(Cells(6, x), Cells(n, x)) = "Finance"。我想我可能会遇到与其他 vba 相同的问题,因为我遇到的问题是黄色突出显示的行总是根据我每天收到的数据而变化。宏必须首先在标题行中找到单词“cont type”,然后在黄色突出显示的行下方添加单词“finance”。今天,黄色行在第 75 行
  • 对,所以你需要设置范围 Range(Cells(75, x)...。你收到了什么错误?当我运行它时对我有用。
  • 您好,我按照您的建议进行了更改,它给出了错误“运行时错误'1004':应用程序定义的或对象定义的错误”。每次运行宏时都必须更改行号吗?如果明天,该行是 90 怎么办?
  • 您必须设置一些东西,以便它动态知道要使用哪一行。为什么是90?为什么是75?是什么驱动了那个行号?基于此,您将设置另一个变量 (y) 等于行“应该是”
【解决方案2】:

试试:

Option Explicit

Sub test()

    Dim LastColumn As Long, i As Long

    'Change sheet name if needed
    With ThisWorkbook.Worksheets("Sheet1")
        'Find LastColumn of row 1
        LastColumn = .Cells(1, .Columns.Count).End(xlToLeft).Column

        'Loop Cells of the first row
        For i = 1 To LastColumn

            'If cells in row 1 and column i is "Cont Type"
            If .Cells(1, i).Value = "Cont Type" Then
                'Import in range
                .Range(.Cells(6, i), .Cells(9, i)).Value = "Finance"
            End If

        Next i

    End With

End Sub

结果:

【讨论】:

  • 您好!我非常感谢您提供的这个宏,但它不起作用,因为我遇到的问题是黄色突出显示的行总是根据我每天收到的数据而变化。宏必须找到黄色突出显示的行并在其下方输入“财务”一词。今天,黄色行在第 75 行。
  • 黄色行是最后一个数据之后的行吗?
  • 嗨,黄色行是原始数据的最后一行,但是我添加了一个宏来复制 A-L 列(减去标题)中的所有内容(原始数据)并粘贴到第一个空单元格(数据下方的 A) 列。
猜你喜欢
  • 2019-07-28
  • 2018-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-11
  • 1970-01-01
相关资源
最近更新 更多