• ベストアンサー

エクセル2003、コントロールツールボックスの「ボタン」について

コントロールツールボックスの、「ボタン」を使用し、複数のセルデータを、違うセルに転送したいと思っています。 例えば、写真のように「5行目」にある数値を、転送ボタンを押せば、「1行目」に表示されるというようにしたいのですが、可能でしょうか? 転送元のセル番地と、転送先セル番地が指定できればなおうれしいのですが・・・ どうぞ、よろしくお願い申し上げます。

質問者が選んだベストアンサー

  • ベストアンサー
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.3

>回答番号:No.2 この回答へのお礼 回答番号:No.2のコードは逆でした。 ≪値の転送≫ Range("A1:D1").Value = Range("A5:D5").Value A5のデータがA1に転送されます。 他のセルデータも同じように転送されます。

ein-zwei
質問者

お礼

うまくいきました!理想どうりのものができました、ありがとうございました。

その他の回答 (3)

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.4

あらかじめD列に(D1から)転送元の番地を E列に(E1から)その転送先番地を指定してるとしたら 以下のコードでいかがですか Dim mRange As Range For Each mRange In Range("D1:D" & Range("D" & Rows.Count).End(xlUp).Row) Range(Range("E" & mRange.Row)).Value = Range(mRange.Value).Value Next

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.2

≪値の転送≫ Range("A5:D5").Value = Range("A1:D1").Value ≪転送元のセル番地と、転送先セル番地が指定≫ InputBoxメソッドをType:=8で使えばどうでしょうか。 実は奥が深いInputBox http://officetanaka.net/excel/vba/tips/tips37.htm

ein-zwei
質問者

お礼

ご回答ありがとうございます。 説明不足で申し訳ありませんでした。 「転送元のセル番地と、転送先セル番地が指定」といいましたのは、 「その都度指定する」のではなく、 あらかじめ指定しておいたセル番地の値が、あらかじめ指定しておいたセル番地に、ボタンを押すと転送されるようにしたかったのです。 ここで、複数の指定したセル番地のデータが、複数の、指定したセルまで ボタンを押すだけで転送できればと思っています。 どうぞ、よろしくお願い申し上げます。

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.1

ボタンのマクロに 以下のマクロを指定してください Dim cRange As String, pRange As String cRange = InputBox("コピー元を指定してください") pRange = InputBox("貼付け先を指定してください") Range(cRange).Copy Range(pRange).PasteSpecial

ein-zwei
質問者

補足

ご回答ありがとうございます。 説明不足で申し訳ありませんでした。 「転送元のセル番地と、転送先セル番地が指定」といいましたのは、 「その都度指定する」のではなく、 あらかじめ指定しておいたセル番地の値が、あらかじめ指定しておいたセル番地に、ボタンを押すと転送されるようにしたかったのです。 ここで、複数の指定したセル番地のデータが、複数の、指定したセルまで ボタンを押すだけで転送できればと思っています。 例えば A1はA4へ、B1はB4へ、C1はC4へという感じを、ボタンを1クリックで行えたらと思っております。 また、転送元のデータは、その都度変更されます。 参照させればよいのでは、というお言葉がありそうなのですが、 なぜこうしたいかと申しますと、 転送後のセルの値を使用して、転送元に新たに入力された値との間で差分を取りたいと思っております。 どうぞ、よろしくお願い申し上げます。

関連するQ&A