こんにちは。
マクロ超超初心者です。
WN98SE、Excel97です。
やりたいことは、たとえば、
B1に1001
B2に1001
B3に1002
B4に1003
・
・
・
と入っていたとします。
ここで、1001から1002に変わる(又、1002から1003に変わる)とき、その間の行に3行空行を自動的に挿入させたいのですが、どういうマクロの記述をすればできるのでしょうか・・・。
それを新規ブックでもボタンひとつで実行させるにはどのような設定をしたらよいでしょうか。
どなたか教えてください。
よろしくおねがいします。
No.3
- 回答日時:
こんな感じでしょうか?
Sub SAMPLE()
ROW% = 1
Do While Cells(ROW, 2).Value <> ""
If Cells(ROW, 2).Value = Cells(ROW + 1, 2).Value Then
ROW = ROW + 1
Else
Rows(ROW + 1 & ":" & ROW + 3).Insert
ROW = ROW + 4
End If
Loop
End Sub
No.2
- 回答日時:
48kgさん、こんにちは。
次のマクロでどうでしょうか。
B列に入っているデータをもとに、行挿入を繰り返します。
F11キーでVBE(コードエディタ)を立ち上げ、
標準モジュールに貼り付けてください。
ボタンひとつ、というのはシート上に貼り付けるボタンでいいのでしょうか。
でしたらメニューから、
表示-ツールバー
で、「フォーム」を選択し、「フォーム」ツールバーを出してください。
そのなかに、ボタンがありますので、
これをクリックして、シートにボタンを描画します。
すると、「マクロの登録」画面がでますので、
これで「test」マクロをボタンに登録してください。
Option Explicit
Sub test()
Const lngCol As Long = 2 'B列をさがす
Dim lngRow As Long
Dim varVal1 As Variant
Dim varVal2 As Variant
'初期化
lngRow = 1
'ループ
Do While Cells(lngRow, lngCol).Value <> ""
varVal1 = Cells(lngRow, lngCol).Value
varVal2 = Cells(lngRow + 1, lngCol).Value
If varVal1 <> varVal2 Then
Rows(lngRow + 1 & ":" & lngRow + 3).Insert '3行挿入
lngRow = lngRow + 3
End If
lngRow = lngRow + 1
Loop
End Sub
No.1ベストアンサー
- 回答日時:
こんにちは。
マクロはこんな感じです。
急いで組んだので、手直しが必要かもしれません。
Sub Macro1()
Const NowCol=2 'B列
Const InsRows=3'3行挿入
Dim NowRow
Dim NowVal,PreVal
PreVal=Range("B1")
NowRow=1
Do
NowRow=NowRow+1
NowVal=Cells(NowRow,NowCol).Value
If NowVal=0 Then Exit Do
If PreVal<>NowVal Then
Rows(NowRow &":"&NowRow+InsRows-1).Select
Selection.Insert xlDown
PreVal=NowVal
NowRow=NowRow+InsRows-1
End If
Loop
End Sub
新規ブックでも使えるようにするには、
PERSONAL.XLS にマクロを保存します。
まず、ツール→マクロ→Visual Basic Editor でマクロ編集モードにします。
プロジェクトウインドウで、PERSONAL.XLSのVBAProjectを探してください。
PERSONAL.XLSがなかったら、イルカ君に聞いてみてください。確か、Excelのフォルダから読み込むはずです。
モジュールというフォルダアイコンのようなアイコンを右クリックして、挿入→標準モジュールでモジュールフォームを開いて、上記マクロをコピペしてください。
保存すれば、このマクロは新規ブックでも使えます。
ボタン一発で使えるようにするには、メニューやショートカットに登録すればOKです。
ちなみに、マクロ名は、Macro1 になっています。
上記コードの Sub の後の Macro1 を別の名前にすれば、マクロ名も変わります。
長くなったので、この辺で。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/04 17:58
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/07/13 12:31
- Excel(エクセル) Excelのマクロコードについて教えてください。 1 2022/03/27 10:47
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/11 12:55
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/03 13:18
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/10 14:24
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/06/02 08:44
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/03/08 09:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
WPSOffice_マクロの有効化について
-
Excel マクロの編集がグレーに...
-
Excelマクロをバックグラウンド...
-
エクセルの表を複数枚印刷した...
-
エクセルの、記録を終了したマ...
-
パソコンの買い替えとデータ移行
-
Excelのマクロ名の並び順の法則...
-
マクロの保存先を変更するには
-
複数のマクロボタンをまとめて...
-
バッチファイルファイル→VBS→エ...
-
LDPlayerのマクロの編集方法を...
-
IMEを制御するマクロについて教...
-
エクセルでマクロ(Excel 4.0)...
-
なぜマクロの記録がなくなって...
-
リーグ戦(10チーム2コート)作...
-
エクセル ボタンに設定したマク...
-
Access If構文をボタンに設定す...
-
エクセルマクロで、別のブック...
-
エクセルなどで、ボタンを押す...
-
秀丸エディタで正規表現とマク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel マクロの編集がグレーに...
-
WPSOffice_マクロの有効化について
-
Excelのマクロでボタンを押すと...
-
エクセルで、「いいね」のよう...
-
エクセル マクロ名にブック名...
-
エクセル ボタンに設定したマク...
-
エクセルの、記録を終了したマ...
-
エクセルの表を複数枚印刷した...
-
複数のマクロボタンをまとめて...
-
エクセルマクロで、別のブック...
-
Excelマクロで、稼働中のマクロ...
-
エクセルでマクロ(Excel 4.0)...
-
別シートのマクロボタンをマク...
-
(Excel VBA)シートコピー時マ...
-
Excel:マクロを消す方法教えて...
-
マクロ実行ボタンを自動削除したい
-
EXCELのマクロが他のパソコンで...
-
Excelのマクロ名の並び順の法則...
-
マクロをマクロを使ってコピー...
-
Excelマクロをバックグラウンド...
おすすめ情報