2017-07-21 35 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

相關問題