Excel 如何制作一个按钮,当另一个单元格有某个值时,该按钮只将值从一个表发送到另一个表中的行

Excel 如何制作一个按钮,当另一个单元格有某个值时,该按钮只将值从一个表发送到另一个表中的行,excel,vba,Excel,Vba,我尝试过谷歌,但似乎没有找到正确的答案,因为我对VBA缺乏经验 我正试图通过单击按钮将第3行复制到同一张表的下一行。更具体地说,第一个数据将进入B13:O13 单击按钮后,将出现以下情况。从B3到D3的数据将进入B13到D13。来自E3、F3、G3、H3和I3的数据将合并到E13中。从H3到N3的数据将进入J13到N13。到目前为止,我能在这个网站上找到答案,在 然而,问题在于O13,我只想复制O13中的数据,前提是C3中有文本“Company”(没有引号)。如果O13不是“公司”,我只想复制B

我尝试过谷歌,但似乎没有找到正确的答案,因为我对
VBA
缺乏经验

我正试图通过单击按钮将第3行复制到同一张表的下一行。更具体地说,第一个数据将进入
B13:O13

单击按钮后,将出现以下情况。从B3到D3的数据将进入B13到D13。来自E3、F3、G3、H3和I3的数据将合并到E13中。从H3到N3的数据将进入J13到N13。到目前为止,我能在这个网站上找到答案,在

然而,问题在于O13,我只想复制O13中的数据,前提是C3中有文本“Company”(没有引号)。如果O13不是“公司”,我只想复制B3到N3列

不幸的是,表本身的条件格式无法实现这一点,因为O3会根据B3是否表示“公司”来更改填充颜色,一旦O3被复制到表的最后一行,这会覆盖表中填充颜色的任何条件格式

在这方面的任何帮助都是非常感谢的

请帮助我为O3创建条件代码。以下是我迄今为止用于将B3复制到N3的代码,我已在模块部分发布了这些代码:

选项显式

Sub copyRow()
Dim ws As Worksheet
Dim lRow As Long
定义要处理的工作表,即用工作表的名称替换Sheet1

Set ws = ActiveWorkbook.Sheets("1. Clients Details")
确定A列中包含内容的最后一行并添加一行

lRow = ws.Cells(Rows.count, "B").End(xlUp).Row + 1
将某些单元格复制到其范围内

ws.Range("B3:D3").Copy ws.Range("B" & lRow)
ws.[B1].Select
ws.Range("J3:N3").Copy ws.Range("J" & lRow)
ws.[J1].Select
合并E3、F3、G3、H3和I3并复制到E列的下一个空行中

ws.Range("E" & lRow) = ws.[E3] & " " & ws.[F3] & " " & ws.[G3] & ", " & ws.[H3] & " " & ws.[I3]
将其他单元格复制到其范围内

ws.Range("B3:D3").Copy ws.Range("B" & lRow)
ws.[B1].Select
ws.Range("J3:N3").Copy ws.Range("J" & lRow)
ws.[J1].Select
结束Sub

这是您的支票:

if Worksheets("yourWorksheet").Range("C3").Value like "*""Company""*" then
    'do something
else
    'do something else
end if

你好,avb,非常感谢你的回答。它解决了这个问题。我手动将您的代码更改为以下代码以使其正常工作。如果工作表(“您的工作表”).范围(“C3”).值类似于“公司”,那么“做其他事情”做其他事情结束,如果再次感谢。你修好了我的电子表格!有没有办法给你的答案一个类似的答案,或者提高你的分数,或者将这个问题标记为已回答。我是新来的。