2015-09-29 99 views
0

我正在研究一個宏,它可以幫助我在某些條件下將數據從一個工作表複製到另一個工作表。問題是有些行包含公式,而我需要這些值。將數據從一個工作表複製到另一個公式作爲值

+0

目前還不清楚是什麼問題。如果你發佈現有的代碼並且更準確地解釋你想要做什麼,這將會有所幫助。 –

+0

我從下面的代碼開始,我需要從第一個工作表(工作量 - 費用de工作)逐行復制數據到destion工作表(工作表1)'副複印機() 表(「工作量 - 費用de工作」) .Range(「A2:AG2」)。Copy Destination:= Sheets(「Sheet1」)。Range(「A2」) End Sub' –

回答

0

試試這個,它將使該拷貝,刪除公式,保持值:

Sub copier() 
    Dim ws1 As Worksheet, ws2 As Worksheet, src As Range, dest As Range, i As Integer 
    Set ws1 = Worksheets("Workload - Charge de travail") 
    Set ws2 = Worksheets("Sheet1") 

    For i = 2 To ws1.UsedRange.Rows.Count 
     Set src = ws1.Range("A" & i & ":AG" & i) 
     Set dest = ws2.Range("A" & i & ":AG" & i) 

     ' ... you can add some checking here to check if the condition is met on the src range... 

     src.Copy Destination:=dest 
     dest.Value = dest.Value 
    Next i 
End Sub 
+0

謝謝但它只有一個ligne –

+0

第一張包含10列相同的第二工作表,並在列號4(完成/進行中/取消)中有一個下拉列表,我需要將第一張表中的所有數據複製到第二張表,而第4列表示完成(下拉列表) –

+0

@RiadhSaïd我修改了代碼來處理第一個表中的所有行(很容易修改爲10行)。下拉列表也將被複制。但是,如果驗證範圍dos不存在,則它可能爲空。 –

2

只需使用.copy.PasteSpecial xlPasteValues,然後它會在值粘貼。

exsample:

Thisworkbook.sheets("Sheet1").Range("A1").copy 

Thisworkbook.sheets("Sheet2").Range("A1").PasteSpecial xlPasteValues 
相關問題