• 締切済み

Excel2007で困ってます1

全くわからなくてお手上げ状態です。誰か助けて下さい。 Sub test1() Range("O4:O1012").Value = Range("O3:O1011").Value End Sub [("O3:O1011")には関数も入ってるので値だけを("O4:O1012")に入れて、1行ずらした形にします] Sub test2() Range("O3").Value = Selection ActiveCell.Offset(1).ActivateEnd Sub [test1で空いたセルO3に、選択されたE3の値を入れまして、E4、E5、E6、…と移動してはO3に入れていきます。] Sub test3() Range("X5").Value = Selection ActiveCell.Offset(1).ActivateEnd Sub [test2でE3から始まる値を1つずつO3に入れると、それに伴って、セルC3の値をX5に1つずつ入れてはC4、C5、C6、…と移動してX5に入れていきます。] ……Excel2007で困ってます2に続きます……

みんなの回答

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.2

test1 ~ test3 を繋げると '最初はE3セルを選択した状態で実行 Sub Test1()   With Range("O3:O1011")     .Value = .Value   End With   Range("O3").Insert Shift:=xlDown   Range("O3").Value = ActiveCell.Value 'E3から始まる値をO3へ   Range("X5").Value = ActiveCell.Offset(, -2).Value 'C3から始まる値をX5へ   ActiveCell.Offset(1).Activate 'E3選択からE4 → E5 ・・・・ End Sub

すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.1

補足したらどうです? ーー 質問の標題が、不適当でしょう。 >Excel2007で困ってます1 というよりもエクセルVBAのコード作成で困っています、だろう。 VBAの初心者なのか、ベテランで特殊な書き方ができるレベルか? ーー 質問のコードに、下記のような書き方をした部分があるが、 Sub test01() Range("a1:A3") = Range("b1:b3") End Sub のような書き方は、うまく行かないのでは? 下記なら何とか意図通りになりそう。 Sub test02() Dim x As Variant x = Range("b1:b3") Range("A1:A3") = x End Sub ーー ActiveCell.Offset(1).ActivateEnd Sub などと堂々と載せているがこのままで動くのか。 ーー Sub test03() Range("C5").Value = Selection End Sub のような書き方は普通はしない。 何処を、何をSelectしたのか?何がしたいのか?

961awaawa
質問者

お礼

その位置のEnd Subじゃ動きません(w)訂正し損なってビックリしました。補足って手がありましたね!!!

すると、全ての回答が全文表示されます。

関連するQ&A