2016-08-16 76 views
-2

如果我必須單擊工作表中的sample activeX按鈕,我堅持使用此部分,從另一工作表保存的數據將從第4行開始顯示在列O中。並且if用戶點擊按鈕sample2,在O列的sample按鈕所做的更改將被保存在列A,然後保存爲sample2按鈕數據即B列將在列替換數據O.在列中添加數據

Private Sub OptionButton1_Click() 
Dim main, data As Worksheet 
Dim i, lRow As Integer 

Set main = ThisWorkbook.Sheets("Main") 
Set data = ThisWorkbook.Sheets("Data") 

For i = 4 To 18 ' starts in 4 because it is where I want to start to copy the data 
    lRow = lRow + 1 
    main.Range("O" & i) = data.Range("A" & lRow) 
Next i 

End Sub 

Maindata
這隻會複製數據表中的數據。但不知道如何做相反的事情,如果我點擊另一個按鈕,當前在列O中的數據將被保存在數據表的A列中。謝謝。

+0

上面的代碼由'Main'並把它採用的值到'數據'中。當您陳述時:「這隻會複製數據表中的數據」? – DragonSamu

+0

我的意思是從複製的數據是從數據表到主表/ – ramj

+1

當您在同一行中聲明幾個不同的數據時,請小心,您仍然必須爲每個數據類型寫入類型,否則它們將是變體: 'Dim main As Worksheet,data As Worksheet' and'Dim i As Integer,lRow As Integer'。另外,因爲你的範圍不是動態的,所以不需要循環:'main.Range(「O4:O18」)。Value = data.Range(「A4:A18」)。Value' is enough –

回答

-1

只需更改以下:

data.Range("A" & lRow) = main.Range("O" & i) 

到:

data.Range("A" & lRow) = data.Range("O" & i) 

現在你把從Data "O"值放入Data "A"

+0

只有當用戶單擊另一個按鈕時,才能將數據從主數據表複製到數據表。 – ramj

+0

@ramj @ramj你可以使用你的代碼你有新的按鈕,並改變我發佈的內容。 – DragonSamu