2017-07-21 30 views
0

我试过谷歌,但我似乎无法得到正确的答案,因为我没有经验VBA如何使一个按钮,将只发送值从一个表到另一个表中的行,如果另一个单元格有一定的价值

我想复制第3行,点击一个按钮,进入最后一行的表格,这是在同一张表上进一步发现的。更具体地说,第一个数据将进入B13:O13

一旦点击该按钮,将发生以下情况。从B3到D3的数据将转到B13到D13。来自E3,F3,G3,H3 & I3的数据将被合并到E13中。从H3到N3的数据将转到J13到N13。到目前为止,我能够找到在这个网站上的答案,在this link

然而,问题是与O13,我想复制O13中的数据只有当C3中有文本“公司” (不带引号)。如果O13说的不是“公司”,我只想复制列B3到N3。

不幸的是,为了达到这个目的,表本身的条件格式并不适用,因为O3根据B3是否表示“Company”而改变填充颜色,这会覆盖表格中的填充颜色的任何条件格式有,一旦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 

结合E3,F3,G3,H3与I3和复制到E列,下一个空行

ws.Range("E" & lRow) = ws.[E3] & " " & ws.[F3] & " " & ws.[G3] & ", " & ws.[H3] & " " & ws.[I3] 

其他细胞复制到自己的范围

ws.Range("J3:N3").Copy ws.Range("J" & lRow) 
ws.[J1].Select 

末次

回答

0

这是你的检查:

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

嗨avb, 非常感谢您的回答。它解决了这个问题。我亲手将代码更改为下面的代码以使其工作。 如果工作表(“yourWorksheet”),范围(“C”)。像“公司”,然后 值“做点别的 ”如果再 感谢做些别的事情 结束。您修复了我的电子表格! – Omar

+0

有没有办法给你的答案类似或增加你的分数或将此查询标记为已回答。我对此很陌生。 – Omar

相关问题