- 締切済み
エクセルで空白を等間隔に挿入したい
タイトルにあるようにエクセルでマクロを使って等間隔に空白行を挿入したいのですが、 現在コードがこのようになっております。 **************************** Sub Macro1() Range("AA34").Select Do While (ActiveCell.Value <> "") For i = 1 To 10 '何行の空白? ActiveCell.Offset(1, 0).EntireRow.Insert shift:=xlDown ' Next ActiveCell.Offset(34, 0).Activate '挿入間隔? Loop MsgBox "完了" End Sub ******************************* とありまして走らせますと 24行おきに空白ができるのですが、 問題点がいくつかできました ・この場合、全体を挿入していくので(AA:AG)といった特定の列を指定したい ・空白が1列x10行と挿入されるので10行1度にしたい ・挿入していく最終行を指定したい 以上でございます ぜひ、ご教授ねがいます。
- hidesan_31
- お礼率44% (16/36)
- オフィス系ソフト
- 回答数2
- ありがとう数1
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- ASIMOV
- ベストアンサー率41% (982/2351)
>お勧めのサイトか http://www.moug.net/index.html こちら↑はどうでしょう
- ASIMOV
- ベストアンサー率41% (982/2351)
Sub Macro1() el = 100 ' 最終行 il = 10 ' 挿入行 nl = 24 ' 次の行 Range("AA34").Select ActiveCell.Offset(1, 1).Select Do While (ActiveCell.Row < el) ActiveCell.Range("A1:G" & il).Select Selection.Insert Shift:=xlDown ActiveCell.Offset(nl, 0).Activate '挿入間隔? Loop MsgBox "完了" End Sub ------------------ どうでしょうか...
関連するQ&A
- EXCELのマクロについて
お世話になっております。 以下のマクロを1万行分繰り返したいのですが、回数を1万回と指定する構文を 教えてください。よろしくお願いします。 Sub Macro16() ' ' Macro16 Macro ' ' Keyboard Shortcut: Ctrl+Shift+Z ' ActiveCell.Offset(1, 0).Rows("1:1").EntireRow.Select Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove ActiveCell.Offset(-1, 0).Range("A1:M1").Select Selection.Copy ActiveCell.Offset(1, 0).Range("A1").Select ActiveSheet.Paste ActiveCell.Offset(-1, 2).Range("A1").Select Application.CutCopyMode = False ActiveCell.FormulaR1C1 = "7/5/1905" ActiveCell.Offset(1, 0).Range("A1").Select ActiveCell.FormulaR1C1 = "7/6/1905" ActiveCell.Offset(1, -2).Range("A1").Select End Sub
- ベストアンサー
- Excel(エクセル)
- エクセルVBA
アクティブ「セル」のある「行」をコピーし、そのアクティブセルの下へ挿入するマクロに、複数「セル」を選択している場合は、複数行を挿入するように追記するには、どうしたらいいでしょうか? Sub Macro1() Rows(1).Copy ActiveCell.EntireRow.Insert Shift:=xlDown Application.CutCopyMode = False ActiveCell.EntireRow.Hidden = False End Sub よろしくお願いします。m(_ _)m
- ベストアンサー
- Excel(エクセル)
- ExcelVBA 複数のシートへの行挿入
現在下記の操作を行いたい為、Excelマクロを作成しています。 Sheet1のアクティブセルの行に(AからN列の)行の挿入 Sheet2から4はSheet1のアクティブセルの行+2の(AからN列の)箇所に行の挿入 Sheet5は行挿入を行わない。 このような操作をマクロで行う事は可能でしょうか。 またどのように記述すればよろしいでしょうか。 よろしくお願い致します。 例: Sheet1のアクティブセル = A3の場合 Sheet1 = A3からN3まで行挿入 Sheet2から4はA5からN5まで行挿入 Sheet5は行挿入を行わない。 現在ここまで作成しています。 Sub Add() ActiveCell.Offset().Activate ActiveCell.EntireRow.Range("a1:n1").Insert Shift:=xlDown End Sub
- 締切済み
- 財務・会計・経理
- 空白までのデータを範囲指定する
EXCEL VBAにて教えてもらいたい事があります。 空白までの行列を範囲指定したいのです。 A B C D 1 1123 123 12 57 2 32 1 5 52 3 2 98 852 11 4 65 2 72 1 A列からD列の行が空白になるまでの範囲を指定する マクロを教えてほしいです。 A列の最終行の次の行にカーソルを合わせるマクロはわかるのですが 範囲を指定する方法がわかりません。 よろしくお願いいたします。 最終行の次の行にカーソルを合わせるマクロ Range("A1").End(xlDown).Select ActiveCell.Offset(rowOffset:=1).Activate Selection.Copy
- ベストアンサー
- その他([技術者向] コンピューター)
- VBAで行を挿入する
VBAを始めた初心者です。 Exel2002使用です。 VBAでA列の4行目から10行目に行の挿入をできるようにしようと下記のように書きましたが、Rows("i:i").Selectの部分でデバックがかかってしまいます。間違っている理由がわからないのですがよろしくお願いします。 また、DO While Loopステートメントを使ってA列が空白になるまで(例えばA4セル以下の)行を挿入とする場合の方法も教えていただけましたら幸いです。 Sub 4行目から10行目まで() Dim i As Integer For i = 4 To 10 Cells(i, 1).Value = i Rows("i:i").Select Selection.Insert Shift:=xlDown Next i End Sub Sub 4行目から空白になるまで() Dim i As Integer Range("A4").serect Do While activecell.value = "" Cells(i, 1).Value = i Rows("i:i").Select Selection.Insert Shift:=xlDown activecell.offset(1,0).select Loop End Sub
- ベストアンサー
- Visual Basic
- Excel VBA のDo Until Loopについて
こんばんは Excel VBAの初心者です。 Do Until Loopを使って B列の値が変わるところ(下記の表だと、空白からコスモスに変わる、4行目。コスモスからチューリップに変わる6行目。チューリップから菊に変わる8行目。)に行を挿入させたいと思い、下記のマクロを組んだのですが、Do Until Loopが理解できませんでした。 どうしたら良いのか教えて頂けないでしょうか。 宜しくお願い致します。 Excelのシート B1 項目 B2 空白 B3 空白 B4 コスモス B5 コスモス B6 チューリップ B7 チューリップ B8 菊 Sub 行の挿入() Dim y As String Cells(2, 2).Select y = Cells(2, 2).Value Do Until Cells(2, 2).Value <> y ActiveCell.Offset(1).Select Selection.EntireRow.Select Selection.Insert shift:=xlDown Loop End Sub
- ベストアンサー
- その他(プログラミング・開発)
- エクセルで行を非表示にするとアクティブなセルが・・・
エクセルで行を非表示にするとアクティブなセル?行?がどこかわからなくなり、マクロでアクティブなセルを移動するときにエラーが出ます。 Sub example() ActiveSheet.Range("D3").Select Do Until ActiveCell = 23 If ActiveCell <> "" Then ActiveCell.Offset(1, 0).Select ElseIf ActiveCell <> "" Then ActiveCell.Offset(1, -3).Select ElseIf ActiveCell <> "" Then ActiveCell.Offset(1, -6).Select Else: ActiveCell.EntireRow.Select Selection.EntireRow.Hidden = True ActiveCell.Offset(0, -6).Select End If Loop End Sub 一番下のActiveCell.Offset(0, -6).Select にエラーが出るのですが、どうすればセルを移動できるでしょうか?
- ベストアンサー
- オフィス系ソフト
- マクロでテーターを転記した時の空白なしに
いつもお世話になります。 WINDOWS7 EXCEL2010 です。 添付図で説明させていただきますと、 右側の「請求書」のL5:O9 のデーターを左の「売上表」に下記のマクロにて転記します。 元の値(請求書 L5:O9)の範囲内のデーターが1行 2行 3行 4行は空白行が又は5行の場合はすべてが埋まったりします。 この場合5行の時はいいのですが、例えばデーターが3行の時は添付図で言いますと5の行6の行のように2行が空白になります。 下記のマクロの構文をどういう具合にすればいいか御指導願えませんでしょうか。 参考に、 L5 =IF(B15="","",B15) M5 =IF(L5="","",$A$2) N5 =IF(L5="","",C15) O5 =IF(L5="","",H15) ※ 下記のようにしたかったのですがそれ程詳しくないのと時間がないので上記のような方法になり少し遠回りです。 ‘Range("B1").Select ‘ActiveCell.Offset(1, 0).Activate マクロです。 Sub 売上表へ転記() Dim ID As Long Dim 納品日 As Date ID = Range("M5").Value 日付 = Range("L5").Value Range("L5:O9").Copy Sheets("売上表").Activate Range("A65536").End(xlUp).Activate '販売記録A2がアクティブセル(タイトル行) ActiveCell.Offset(1, 0).Activate ActiveCell.PasteSpecial Paste:=xlPasteValues Application.CutCopyMode = False 'A2:E2 ActiveCell.Offset(0, 4).Activate 'C2が空白 Do Until ActiveCell.Offset(2, 0).Value = "" ActiveCell.Value = ID 'G2 ActiveCell.Offset(0, 0).Value = 納品日 'A3 ActiveCell.Offset(1, 0).Activate Loop End Sub
- 締切済み
- Excel(エクセル)
- マクロでテーターを転記した時の空白なしに
いつもお世話になります。 WINDOWS7 EXCEL2010 です。 添付図で説明させていただきますと、 右側の「請求書」のL5:O9 のデーターを左の「売上表」に下記のマクロにて転記します。 元の値(請求書 L5:O9)の範囲内のデーターが1行 2行 3行 4行は空白行が又は5行の場合はすべてが埋まったりします。 この場合5行の時はいいのですが、例えばデーターが3行の時は添付図で言いますと5の行6の行のように2行が空白になります。 下記のマクロの構文をどういう具合にすればいいか御指導願えませんでしょうか。 参考に、 L5 =IF(B15="","",B15) M5 =IF(L5="","",$A$2) N5 =IF(L5="","",C15) O5 =IF(L5="","",H15) ※ 下記のようにしたかったのですがマクロに詳しくないのと時間がないので上記のような方法になり少し遠回りです。 ‘Range("B1").Select ‘ActiveCell.Offset(1, 0).Activate マクロです。 Sub 売上表へ転記() Dim ID As Long Dim 納品日 As Date ID = Range("M5").Value 日付 = Range("L5").Value Range("L5:O9").Copy Sheets("売上表").Activate Range("A65536").End(xlUp).Activate '販売記録A2がアクティブセル(タイトル行) ActiveCell.Offset(1, 0).Activate ActiveCell.PasteSpecial Paste:=xlPasteValues Application.CutCopyMode = False 'A2:E2 ActiveCell.Offset(0, 4).Activate 'C2が空白 Do Until ActiveCell.Offset(2, 0).Value = "" ActiveCell.Value = ID 'G2 ActiveCell.Offset(0, 0).Value = 納品日 'A3 ActiveCell.Offset(1, 0).Activate Loop End Sub
- ベストアンサー
- Excel(エクセル)
- エクセルで画像の挿入マクロについて
エクセルのB列にJANコードが入力してあり、 (1)セル内容コピー (2)C列にそのJANコード.emfのファイル名画像を挿入 (3)次の行に移る この作業をマクロ記録してみたところ内容が下記の様になりました。 Sub JAN() ' ' JAN Macro ' ' Keyboard Shortcut: Ctrl+Shift+Q ' Selection.Copy ActiveCell.Offset(0, 1).Range("A1").Select ActiveSheet.Pictures.Insert( _ "C:\Users\user\Documents\JAN_バーコード\1234567890123.emf").Select ActiveCell.Offset(1, -1).Range("A1").Select End Sub 挿入する画像のファイル名が最初のものに固定されてしまっているのですが、 これを次のセル内容に自動で変える為にはどうすればよいでしょうか。
- ベストアンサー
- Excel(エクセル)
お礼
完璧です^^; ありがとうございました 今勉強中なのですが。なにか参考になる お勧めのサイトか、本などございましたら 教えていただければと思います。 ありがとうございました