2016-10-09 3 views
0

ボタンを押すたびに別のワークシートのテーブルにワークシートの特定のセルの値を追加するマクロを使用します。たとえば、最初にボタンを押したときに、ワークシート2のセルA1の値をワークシート1のセルC3と同じ値にし、次回のワークシート2のB1がワークシート1のC3と等しくなるようにします。マクロは、それが追加されるセルが空の場合にのみ、テーブルに値を追加する必要があります。マクロを使用してセルからテーブルに値を追加する

これは私がこれまで持っているものです。

Sub Button32_ClickandUpdate 
    myVariable = Worksheets("Worksheet1").Range("C3") 

    For i = 1 To 6 
     If IsEmpty(Cells(1, i)) Then 
      Worksheets("Worksheet2").Range(Cells(1,i)) = myVariable 
      Exit Sub 
     End If 
    Next i 
End Sub 

任意の助けいただければ幸いです。

答えて

1

Sub Button32_ClickandUpdate() 

    For i = 1 To 6 
     If IsEmpty(Sheets("Worksheet2").Cells(1, i).Value) Then 
      Sheets("Worksheet2").Cells(1, i).Value = Sheets("Worksheet1").Range("C3").Value     
      Exit Sub 
     End If 
    Next i 

End Sub 

コメント:これもなしでこれを使うことができます.Value

+0

これは私が探しているものです。どうもありがとうございます! –

0

この試し:所与の新しい説明によれば

Sub Button32_ClickandUpdate 
    myVariable = Worksheets("Worksheet1").Range("C3") 

    For i = 1 To 6 
     If IsEmpty(Worksheets("Worksheet2").Cells(1, i)) Then 
      Worksheets("Worksheet2").Cells(1, i) = myVariable 
      'Exit Sub (remove or comment this line to update all cells at the sime time) 
     End If 
    Next i 
End Sub 

編集 を:(セルが空である場合)、一度に一つのセルを更新するために、以下のコードを試し

Sub Button32_ClickandUpdate 
    myVariable = Worksheets("Worksheet1").Range("C3") 

     i = 1 
     While i < 7 
      If IsEmpty(Worksheets("Worksheet2").Cells(1, i)) Then 
       Worksheets("Worksheet2").Cells(1, i) = myVariable 
      End If 
      i = i + 1 
     Wend 
End Sub 
+0

ありがとう、これはテーブルを一度更新しますが、再度ボタンをクリックするとテーブルの次のセルは更新されません。 –

+0

あなたの質問を読んでいるときに、クリックした後でクリックをクリックしてセルを更新したいと思った。だからあなたは6つの細胞のすべてを同時に更新したいですか? – b1919676

+0

すべてのセルを同時に更新する場合は、_Exit Sub_行を削除(またはコメント)してください。私の答えで与えられたコードを見てください。 – b1919676

関連する問題