|
▼プロ初心者 さん:
>またちょっと無駄な足掻きをしてみたので経過報告致します。
>
> Dim y1, y3, y4 As Integer
> If Range("a2").Value = True Then
> y1 = 1
> For y2 = 1 To 11
> y3 = y1 + y2
> y4 = Cells(y3, 23).Value
> Worksheets("ABILITY").Activate
> Cells(y4, 1).Select
> ActiveCell.Copy
> Cells(y4, 2).Select
> ActiveSheet.Paste
> Next
> End If
>
>上の8行目と10行目のy4を変数ではなく数値に置き換えてみたところ
>エラー発生せず実行完了致しました。
>変数ではないためFor〜Nextが効いたかどうか不明ですが。
>おかげで座標指定方法が逆だという事もわかりました。
>それで、再度変数に戻すと同じエラーが出るのです。
>
>Range(.Cells(y4, 1)).Select
>に変えるとエラー内容が
>参照が不正または不完全です
>となります。
>これを解決しようと今まで検索掛けた用語は
>vba 座標 変数 range cells
>ですが不足してる用語などありましたら教えて頂きたく存じます。
推測で申し訳ないですけど、
> Worksheets("ABILITY").Activate
シート名”ABILITY”をアクティブにした後で次のループの際には、
> y4 = Cells(y3, 23).Value
このセルは元のシートではなく、シート名”ABILITY”のセルを参照するのでは?
と思うのですが。。。
違っていたらすいません。
|
|