[[20200509212205]] 『セルを指定する式の書き方』(ひろ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『セルを指定する式の書き方』(ひろ)

Sh1⇒Sh2へ転記をさせたく、1行づつ下に読み取りたくて下記式を作成しました。
Worksheets("Sh2").Range...の行でエラーになります。
行の指定の仕方("2 +i,9)が間違っているのでしょうか?スペースなど..

Sub Test22()

  Dim i As Long
  Dim Sh1 As Worksheet 'Sh1はSheet1を表す
  Dim Sh2 As Worksheet 'Sh2はSheet2を表す
  Set Sh1 = Worksheets("Sheet1")
  Set Sh2 = Worksheets("Sheet2")

  For i = 1 To 8 '8回繰り返し処理

  Worksheets("Sh2").Range("2 +i,9").Value = Worksheets("Sh1").Range("8 +i,2").Value '転記先へコピー

  Next

  End Sub

< 使用 Excel:Office365、使用 OS:Windows10 >


 場所は違うかもしれませんが。。Cellsという書き方もあります。。。
 >Worksheets("Sh2").Range("2 +i,9").Value = Worksheets("Sh1").Range("8 +i,2").Value '転記先へコピー

 Worksheets("Sh2").Cells(2 + i, 9).Value = Worksheets("Sh1").Cells(8 + i, 2).Value '転記先へコピー
(SoulMan) 2020/05/09(土) 21:32

SoulManさん

コメントありがとうございます。
Range⇒Cellsに変更してみたのですが、【インデックスが有効範囲にありません】と、表示されてしまいます。。

※Rangeの場合も同じエラーがでます。
(ひろ) 2020/05/09(土) 21:37


 読んで、字のごとく

 変数 Sh2 には、Worksheets("Sheet2") がセットされているから、(Sh1も同じ)

 Sh2.Range・・・・
(BJ) 2020/05/09(土) 21:37

BJさん

ご指摘の通り修正したらできました。
ありがとうございました!!!

初心者なので探り探りで大変ですが、助かりました。。。

(ひろ) 2020/05/09(土) 21:43


 あっ、、すみません。。。ついでに↓こんな書き方もあります。。
 Sh2.Cells(2 + i, "I").Value = Sh1.Cells(8 + i, "B").Value '転記先へコピー
(SoulMan) 2020/05/09(土) 21:46

皆様コメントありがとうございます。

追加でご質問なのですが、

Sh2のほうは、I3,I4..と1つずつセルを下げていきたく、
Sh1のほうは、B9、B11,,と、2つずつセルを飛ばして読み取りたいのですが。

どうすればよいでしょうか?
(ひろ) 2020/05/09(土) 22:38


 >どうすればよいでしょうか?

 Sub Test()
    Dim i As Long
    Dim Sh1 As Worksheet 'Sh1はSheet1を表す
    Dim Sh2 As Worksheet 'Sh2はSheet2を表す

    Set Sh1 = Worksheets("Sheet1")
    Set Sh2 = Worksheets("Sheet2")
    For i = 1 To 8 '8回繰り返し処理
        Sh2.Cells(i + 2, 9).Value = Sh1.Cells(i * 2 + 7, 2)
    Next
 End Sub

(ピンク) 2020/05/09(土) 23:01


 Rangeを使うのなら

    For i = 1 To 8 '8回繰り返し処理
        Sh2.Range("I" & i + 2).Value = Sh1.Range("B" & i * 2 + 7).Value
    Next

(ピンク) 2020/05/09(土) 23:05


ピンクさん

無事動きました!
ありがとうございます。

Range と Cellsの違いって何でしょうか?

(ひろ) 2020/05/09(土) 23:08


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.