Excel VBA質問箱 IV

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

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


8130 / 13645 ツリー ←次へ | 前へ→

【35008】行のオフセット harapon 06/2/18(土) 12:42 質問[未読]
【35009】Re:行のオフセット かみちゃん 06/2/18(土) 12:49 発言[未読]
【35010】Re:行のオフセット harapon 06/2/18(土) 13:05 質問[未読]
【35011】Re:行のオフセット かみちゃん 06/2/18(土) 13:12 発言[未読]
【35012】Re:行のオフセット BB 06/2/18(土) 13:14 発言[未読]
【35013】Re:行のオフセット harapon 06/2/18(土) 13:26 お礼[未読]
【35015】Re:行のオフセット Kein 06/2/18(土) 13:43 回答[未読]
【35016】Re:行のオフセット harapon 06/2/18(土) 13:57 お礼[未読]

【35008】行のオフセット
質問  harapon E-MAIL  - 06/2/18(土) 12:42 -

引用なし
パスワード
   セルのオフセットの仕方はわかるのですが、行のオフセットはできるのでしょうか。
例えば行番号で1行選択して、あるマクロを実行したあとに次の行、又は2行したの行を選択させることは可能でしょうか。
どなたかご教授くださいませ。よろしくお願いします。

【35009】Re:行のオフセット
発言  かみちゃん  - 06/2/18(土) 12:49 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>セルのオフセットの仕方はわかるのですが、行のオフセットはできるのでしょうか。
>例えば行番号で1行選択して、あるマクロを実行したあとに次の行、又は2行したの行を選択させることは可能でしょうか。

以下のような感じのことでしょうか?
Sub Test()
 Rows(2).Offset(1).Select
End Sub
この例では、2行目の1行下である3行目を選択します。

【35010】Re:行のオフセット
質問  harapon E-MAIL  - 06/2/18(土) 13:05 -

引用なし
パスワード
   ▼かみちゃん さん:
>こんにちは。かみちゃん です。
>
>>セルのオフセットの仕方はわかるのですが、行のオフセットはできるのでしょうか。
>>例えば行番号で1行選択して、あるマクロを実行したあとに次の行、又は2行したの行を選択させることは可能でしょうか。
>
>以下のような感じのことでしょうか?
>Sub Test()
> Rows(2).Offset(1).Select
>End Sub
>この例では、2行目の1行下である3行目を選択します。


かみちゃんさん 返信有り難うございます。

私の質問の仕方が悪かったのですが、上記を繰り返し実行すると絶えず3行目を選択するということですよね。そうではなく、繰り返し実行すると次の行、次の行と移行するようなコードはありますか。
 なにぶん、まだはじめたばかりのど素人なものでお手数かけますがよろしくお願いします。

【35011】Re:行のオフセット
発言  かみちゃん  - 06/2/18(土) 13:12 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>上記を繰り返し実行すると絶えず3行目を選択するということですよね。そうではなく、繰り返し実行すると次の行、次の行と移行するようなコードはありますか。

なさりたいことが、何のためなのかよくわからないのですが、以下のような感じでのことですか?

Sub Test()
 Selection.EntireRow.Offset(1).Select
End Sub

【35012】Re:行のオフセット
発言  BB  - 06/2/18(土) 13:14 -

引用なし
パスワード
   ▼harapon さん:
>▼かみちゃん さん:
>>こんにちは。かみちゃん です。
>>
>>>セルのオフセットの仕方はわかるのですが、行のオフセットはできるのでしょうか。
>>>例えば行番号で1行選択して、あるマクロを実行したあとに次の行、又は2行したの行を選択させることは可能でしょうか。
>>
>>以下のような感じのことでしょうか?
>>Sub Test()
>> Rows(2).Offset(1).Select
>>End Sub
>>この例では、2行目の1行下である3行目を選択します。
>
>
>かみちゃんさん 返信有り難うございます。
>
>私の質問の仕方が悪かったのですが、上記を繰り返し実行すると絶えず3行目を選択するということですよね。そうではなく、繰り返し実行すると次の行、次の行と移行するようなコードはありますか。
> なにぶん、まだはじめたばかりのど素人なものでお手数かけますがよろしくお願いします。

Offsetの使い方は理解されたってことですか?
なんで3行目が選択された状態になるのかは理解されたんですよね?
繰り返し処理の何が分からないのかを具体的に書いたらどうですか?
このスレは「行のオフセット」とharaponさん自身が付けてますよね?
だったら、オフセットに関して完了したのなら、スレッドを終了して、
新しいスレッドとして「繰り返し処理」などと作ればいいんじゃないですか?

他人にすべてを作ってもらって、中身を理解しないで進めていくと、何一つ応用が利きませんよ

【35013】Re:行のオフセット
お礼  harapon E-MAIL  - 06/2/18(土) 13:26 -

引用なし
パスワード
   かみちゃんさん 有り難うございました。
おかげでうまくいきました。

BBさん あなたの意見はごもっともです。
素人でもあまり甘えているとなかなか上達しませんよね。

今後はVBAや質問箱のことをもっと勉強していきたいと思います。

【35015】Re:行のオフセット
回答  Kein  - 06/2/18(土) 13:43 -

引用なし
パスワード
   行を Select する必要があるのか無いのか、判断しかねますが、繰り返しなら普通は

Dim i As Long

For i = 4 To 11
  Rows(i).・・・
Next i

というように書きます。
これをもし「3行目を基準にして1行づつ Offset していく」というコードにしたければ

For i = 1 To 8
  Rows(3).Offset(i).・・・
Next i

などと書けば良いのですが、普通はそのような煩わしい書き方はしませんね。

【35016】Re:行のオフセット
お礼  harapon E-MAIL  - 06/2/18(土) 13:57 -

引用なし
パスワード
   Keinさん 大変参考になりました。有り難うございます。
何とかうまくいきそうです。

質問の仕方が悪く皆さんにご迷惑をおかけしました。
一から勉強しなおします。今後ともよろしくお願いします。

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