Excel VBA質問箱 IV

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

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


2970 / 13644 ツリー ←次へ | 前へ→

【65000】最終行の1つ下のAを選択 sati 10/4/1(木) 15:50 質問[未読]
【65001】Re:最終行の1つ下のAを選択 Jaka 10/4/1(木) 16:26 発言[未読]
【65007】Re:最終行の1つ下のAを選択 sati 10/4/1(木) 17:28 質問[未読]
【65014】Re:最終行の1つ下のAを選択 にぃ 10/4/1(木) 18:28 回答[未読]
【65015】Re:最終行の1つ下のAを選択 sati 10/4/1(木) 23:56 お礼[未読]

【65000】最終行の1つ下のAを選択
質問  sati  - 10/4/1(木) 15:50 -

引用なし
パスワード
   はじめまして

32行毎の同じ形式で納品書を作成しています。
32毎の2行目から29行目の中にActiveCellがあったら
C列を検索し、最終行の1つ下のAを選択したいのですが、
32毎の2行目から29行目の中にActiveCellがあったらが
どう書いていいか、わかりません。

Range("C" & Rows.Count).End(xlUp).Offset(1, -2)

よろしくおねがいします。

【65001】Re:最終行の1つ下のAを選択
発言  Jaka  - 10/4/1(木) 16:26 -

引用なし
パスワード
   32行毎ということですから、規則性があると思います。
例えば、32で割ってあまりで判断するとか。

ans = ActiveCell.Row Mod 32
If ans > 1 And ans < 30 Then
  MsgBox "OK"
Else
  MsgBox "NG"
End If

【65007】Re:最終行の1つ下のAを選択
質問  sati  - 10/4/1(木) 17:28 -

引用なし
パスワード
   jakaさん有り難うございます。

以下のようにして見ましたが、1番下の最終行の1つ下のAが選択されます。
ActiveCellがある 32行以内の2行目から29行目の
最終行の1つ下のAが選択ができませんでした。
どこが、間違っていますか?
よろしくおねがいします。
 
Dim ans As Long
  ans = ActiveCell.Row Mod 32
If ans > 1 And ans < 30 Then
  Range("C" & Rows.Count).End(xlUp).Offset(1, -2).Select
End If

【65014】Re:最終行の1つ下のAを選択
回答  にぃ  - 10/4/1(木) 18:28 -

引用なし
パスワード
   ▼sati さん:
こんにちは!

>ActiveCellがある 32行以内の2行目から29行目の
>最終行の1つ下のAが選択ができませんでした。

こういうことですか??

  Dim ans As Long
  Dim ans2 As Long
  ans = ActiveCell.Row Mod 32
  If ans > 1 And ans < 30 Then
    ans2 = ActiveCell.Row - ans
    Range("C" & ans2 + 2).End(xlDown).Offset(1, -2).Select
  End If

【65015】Re:最終行の1つ下のAを選択
お礼  sati  - 10/4/1(木) 23:56 -

引用なし
パスワード
   にぃさん こんばんは

動きました!!!
他にも応用できそうなコードです。
ありがとうございました。

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