- ベストアンサー
VBAの行数にカーソル位置対応
- VBAのコードを使用して、不揃いな行数にカーソル位置を対応させる方法について説明します。
- 特定のシートで行番号が不揃いな場合、カーソルを適切な位置に移動させるためのVBAコードを提供します。
- コード内で使用する範囲の変更にも対応するため、要件に応じて行番号を調整する方法も解説します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 最初に、 >*N88BASICのプログラムに行番号を付けられたのですが **vbaではどうなんでしょうか?* VBEditor には、行番号は無視するような機能は残っています。ただ、VBEditor 自身で、番号を振る機能を持っていないのです。言い換えると、Goto ラベル(番号)機能が残っているわけです。あえて、番号を書く人がいますが、正直なところ、分かりにくいです。掲示板には、Goto 絶対禁止という原理主義者さんもいるようですが、あまり多用しなければよいと思います。(あまり読みやすいとは思いませんが) 私の持っている、"MZ-Tool" というVBAのユーティリティに、"Add Line Number" という機能はありますが、実際には使いません。 以下、ご質問の内容をまとめるとこのようなコードになります。 ステップモードで、一度、試してみると良いです。 なれないと、なかなか、このようには書けませんが、加工するのは簡単だと思います。 Value = Value で、値コピーになります。 '--------------------------------------- '標準モジュールのみ Sub gooR() Dim sh As Worksheet For Each sh In Worksheets 'シート全部 sh.Activate '(3)があるために、必要 With Range("A65536").End(xlUp) .EntireRow.Copy .Offset(1) '(1),(2) 'A-Fまで 1列目~6列目 .Resize(, 6).Value = .Resize(, 6).Value 'BD-BG '56列目~その列含め4列目 .Offset(, 55).Resize(, 4).Value = .Offset(, 55).Resize(, 4).Value '元の行から3行下 .Offset(3).Select '(3) End With Next sh End Sub >(3)次回及び 他のシートは不揃いの為 最後に記録の2段下にカーソルが来て欲しい (3) がなければ、このマクロは、もっとずっと速くループします。次回のことを考える必要がなければ、それは取り去ってもよいと思います。
その他の回答 (2)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 >次回及び 他のシートは不揃いの為 最後に記録の2段下にカーソルが来て欲しい その元のコードからだと、A列から始まっているので、2段下でも、2段開けるようですから、Offset(3) のようです。 Range("A65536").End(xlUp).Offset(3).Select Selection.EntireRow.Select ということだと思います。Offset を使います。 ただ、そのコードの内容からすると、4行で納まりますね。 それと、このコードの内容ですと、文章で説明していただいたほうが、分かりやすいです。
補足
晩くまでお世話になります。 10/29の内容確認しました。有難うございます 改めて!! *作業用記録ブック 多数 *ブック壱に対してシート壱 *記録範囲は列A~BM *行 11~ 300も有れば1500も有り?(不揃い)ここで悩んでいるのです。 **最後尾の行をその行の下にコピーする。次--最初の最後尾のA-F,BD-BGをマウスでA-Fコピー、形式を選択して貼り付け、値、OK、の順でBD-BGも同じにしている。 Rows("各シートに対応").Select '(1)-----次回及び 他のシートは不揃いの為 Selection.Copy Rows("各シートに対応").Select '(2)-----(1)が位置が変化するからここも対応 (A)---Range("A669:F669").Select '-----範囲の変更ありの予定 (B)---Range("BD669:BG669").Select '-----範囲の変更ありの予定 (A)はA~FをA~Gと変更予定ですがその時はコードを自分でかきなおしをします。(B)も同じ考え。 ご親切に!!!! 追)回答頂けるようでしたら *N88BASICのプログラムに行番号を付けられたのですが **vbaではどうなんでしょうか?**
- imogasi
- ベストアンサー率27% (4737/17069)
こんな回答者にVBA弧オードを解読させるのでなく、何がしたいか文章で説明してもらえませんか。回答者はテストを受けているのではないはずです。 マクロの記録風そのままで、読みにくいし。 コピー張り付けしているようだが、どういうルール=基準で行を選んでいるのかとか。 >不揃いの行数 とは一定の間隔の行ではないということ?
補足
お世話になりました。 *Goto 絶対禁止という原理主義者 意味はわかります。当初利用して苦労しました。 今回は質問時に行番号で説明に使う予定でした。 またお会いする機会をーーーー。