• 締切済み

ユーザーフォームを設定して任意列のデータを他の列(複数)にコピーしたい。

EXCEL VBAについての質問です。 初心者です。宜しくお願い致します。 使用環境はWindows 2000 service pack4 Excel 2000. =質問= VBAのユーザーフォームで任意列のデータを他の列(複数)に コピーしたい。 あるシートにIndirectによる選択肢を沢山設けた表を作成して います。 例えば1つ目のデータは、 A1,A3,A5,A7,A9・・・A21にindirect関数が設定されそれぞれ 選択できるようになっている。(偶数行は見栄えのためのスペ ース。A1,A3,A5,A7,A9・・・A21は全て異なる選択肢。) 2つ目のデータ列は都合上C1,C3,C5,C7,C9・・・C21となって いる。 このデータがA、C、E、G、I、J、K列と約40列並んでいる。 A列で選択したデータを任意の列(例えばE、G、I)に一括でコ ピーしたい。 もちろんコピー元となるA列はCやE列になったりすることもあ ります。 VBAを使って一つ隣の列をコピーするボタンを作ることはでき ましたが、ボタンが約40個もあること、作業性が良くないこ とからユーザーフォームを使って任意の列(列全体ではなくA1,A3,A5,A7,A9 ・・・といった飛び飛びのデータ)を任意の複数の列にコピー させたい。 各列の飛び飛びのデータを変数で返してあげて、指定した列( 表示的には配列番号2~5といった表現)にコピーするにはど のようにVBAを組めばよいでしょうか? 以上、お手数をお掛けしますがご教授の程宜しくお願い致しま す。 p.s 本来ならサンプルをつくって質問すべきですが私用PCにはExcel が入っておらず、会社からは外部へアクセスできない環境なの で言葉のみで説明させていただきました。 理解しにくい部分があれば追記しますので何卒宜しくお願い致 します。

みんなの回答

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

よくはわからないですが、A列を基準にOffsetプロパティで指定すればいいのかなって思います。 Offsetプロパティ http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_cell.html#offset

tristan104
質問者

お礼

回答ありがとうございます。 別の問題に対し、試行錯誤していたためお礼を申し上げるのが遅くなり恐縮です。 確かにOFFsetを使うことになると思うのですが、そこから先のVBAプログラムを組むところがわからなくて困っています。 質問もわかりにくかったと思います。 何とか、例題を添付できるようにして改めて質問させていただきます。 アドバイスありがとうございました。

関連するQ&A