Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


21673 / 76738 ←次へ | 前へ→

【60455】Re:マクロを組んだ行に、列を挿入してもコードがずれないようにしたい
発言  SS  - 09/2/23(月) 12:43 -

引用なし
パスワード
   ▼ビタミン太郎 さん:

こんにちは、勘違いがあるので説明しておきます。
2度実行してもらったのは挿入しても計算が崩れないということを確認しただけで
最初に挿入してから計算しても計算結果は同じとなります。
MyArrayは実行のたびに毎回読み込み直し目的の値が何列目のセルに入っているかを格納します。
Cells(2, MyArray(1)).Valueは2行目かつ1行目のセルの値が1の列にある値となります。

>▼SS さん:
>>先ず上手く動かなかったのは変数の宣言がされていなかったからだと思います。
>>MyArrayについては配列で調べてください。
>>ひとつの案を示しただけで他にもっと良い方法もあると思いますのでこだわる必要は無いと思いますがちょっと書き足してみました。
>>先ずA1〜T1まで1〜20を、A2〜J2までA〜Jを入力する。
>>test()を実行するとH2〜T2に記号が出力されます。
>>次にH2〜T2をクリアした後A〜Hのどこかに列を挿入して
>>test()を実行してみてください。
>>
>>Option Explicit
>>
>>Sub test()
>>  Dim i As Long
>>  Dim MyArray(100) As Variant
>>  
>>  For i = 1 To Range("IV1").End(xlToLeft).Column
>>    MyArray(Cells(1, i).Value) = i
>>  Next i
>>
>>  For i = 11 To 20
>>    Cells(2, MyArray(i)).Value = Cells(2, MyArray(i - 10)).Value & _
>>                    Cells(2, MyArray(i - 10)).Value
>>  Next i
>>End Sub
>
>上記の方法で実行できました。一回目の実行で1行目と2行目の関係がmyarrayに記録されたため、2回目の実行をしても1行目と2行目の対応関係がくずれないんですね。参考にさせていただきます。
>とても親切な回答で、もやもやがとれました。本当にありがとうございました。

0 hits

【60436】マクロを組んだ行に、列を挿入してもコードがずれないようにしたい ビタミン太郎 09/2/21(土) 13:39 質問
【60438】Re:マクロを組んだ行に、列を挿入してもコ... neptune 09/2/21(土) 16:59 回答
【60444】Re:マクロを組んだ行に、列を挿入してもコ... ビタミン太郎 09/2/22(日) 2:17 発言
【60446】Re:マクロを組んだ行に、列を挿入してもコ... SS 09/2/22(日) 10:34 発言
【60447】Re:マクロを組んだ行に、列を挿入してもコ... ビタミン太郎 09/2/22(日) 14:42 発言
【60448】Re:マクロを組んだ行に、列を挿入してもコ... SS 09/2/22(日) 19:55 発言
【60449】Re:マクロを組んだ行に、列を挿入してもコ... ビタミン太郎 09/2/22(日) 22:38 お礼
【60455】Re:マクロを組んだ行に、列を挿入してもコ... SS 09/2/23(月) 12:43 発言

21673 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free