2016-04-18 11 views
0

これを行うには、ActiveSheet.pasteが指定されたセルに値を貼り付けようとしていますか?これを言い換えると、私がセルA1にコピーしたものをMain()ボタンをクリックしてElkhartEast()ボタンをクリックすることでペーストしたいと思います。現在のコード:.Select.Pasteを利用してコマンドボタンをクリックして特定のセルに値を貼り付ける方法

Sub Tennessee() 
    Range("A600").Select 
    ActiveSheet.paste 
End Sub 
Sub Alabama() 
    Range("A900").Select 
    ActiveSheet.paste 
End Sub 
Sub Main() 
Range("A1").Select 
ActiveSheet.paste 
End Sub 
Sub NorthCarolina() 
    Range("A1200").Select 
    ActiveSheet.paste 

End Sub 
Sub Pennsylvania() 
    Range("A1500").Select 
    ActiveSheet.paste 
End Sub 
Sub Texas() 
    Range("A1800").Select 
    ActiveSheet.paste 
End Sub 
Sub WestCoast() 
    Range("A2100").Select 
    ActiveSheet.paste 
End Sub 

Sub ElkhartEast() 
    Range("A300").Select 
    ActiveSheet.paste 
End Sub 

答えて

0

は練習をコーディング正しいVBAではありません。

次のコードでは、値を保持して特定のCellに配置するために、StringまたはInteger(必要なものによって異なります)を使用しています。

Option Explicit 
'If you need a number value then Integer 
Dim intValue as Integer 
'If you need a text value then String 
Dim strValue as Integer 

'As example I will use Integer 
Sub Main() 
    IntValue = Range("A1").Value 
End Sub 

Sub NorthCarolina() 
    Range("A1200").Value = IntValue 
End Sub 

Sub Pennsylvania() 
    Range("A1500").Value = IntValue 
End Sub 

Sub Texas() 
    Range("A1800").Value = IntValue 
End Sub 
Sub WestCoast() 
    Range("A2100").Value = IntValue 
End Sub 

Sub ElkhartEast() 
    Range("A300").Value = IntValue 
End Sub 

Sub Tennessee() 
    Range("A600").Value = IntValue 
End Sub 

Sub Alabama() 
    Range("A900").Value = IntValue 
End Sub 
0

Range("A600").Selectは、セルを選択するだけです。値を貼り付けるには、まずセルから値をコピーする必要があります。 .Selectは値をそのままコピーするのではなく、それぞれのセルにフォーカスを設定するだけです。
ActiveSheet.Pasteは、フォーカスが現在設定されているセルに(コピーされている場合は)値を貼り付けます。私たちはワークシート

にクリックした場所に焦点を当てていない場合、これは代わりに以下のコードは非常に役立つだろう任意でよい:

Sub Tennessee() 
     Range("A1").Copy 
     Range("A2").PasteSpecial 
End Sub