0

X レコードごとに空白行を埋めるコードがあります。私がやりたいことは、それらの空の行のセルに静的テキストを挿入するコードを用意することです。空白行を追加するために私が持っているものは次のとおりです...コードはすべて私のものではありません。インターネットから取得しました。私がする必要があるのは、作成中の空白行に静的テキストを入力することです。次に、50 レコードごとにパディングと追加を続けます。ありがとう!

**********
Sub InsertRowEveryXrows()

   Dim rw As Long
   Dim lr As Long
   Dim cnt As Long
   lr = Range("A" & Rows.Count).End(xlUp).Row
   rw = 2
   cnt = 1
   Do
    If cnt = 50 Then
       Rows(rw).Insert Shift:=xlDown
       cnt = 1

    Else
       cnt = cnt + 1
    End If
    rw = rw + 1
   Loop While rw <> lr
End Sub
*****************
4

2 に答える 2

0

あなたがしなければならない唯一のことは、次のように、cntが51になり、静的テキストを追加するときを尋ねることです(列が1であると仮定します):

 Sub InsertRowEveryXrows()

   Dim rw As Long
   Dim lr As Long
   Dim cnt As Long
   lr = Range("A" & Rows.Count).End(xlUp).Row
   rw = 2
   cnt = 1
   Do
     If cnt = 50 Then
         Rows(rw).Insert Shift:=xlDown
         cnt = 1
     Else
        if cnt = 51 then
          cells(rw,1) = "your static text"
        else
         cnt = cnt + 1
        End If
     End If
     rw = rw + 1
   Loop While rw <> lr

 End Sub

それがどうなるか教えてください、それが役立つことを願っています!

于 2016-07-26T18:58:51.267 に答える
0

何が起こっているかを示すためにコードにコメントを追加しましたが、これは私にとってはうまくいき、少し速くなるはずです。

Public Sub Sample()
Dim WkSht   As Worksheet
Dim LngLR   As Long 'Last Row
Dim LngCR   As Long 'Current Row

'Connect to the worksheet
Set WkSht = ThisWorkbook.Worksheets("Sheet1")

    'Get the last row so we know when to stop
    LngLR = WkSht.Range("A" & WkSht.Rows.Count).End(xlUp).Row

    LngCR = 51 '51 to account for the first row being a header

    'Keep adding the 50th row until when would end up past the last row
    Do Until LngCR > LngLR

        'Add the new row
        WkSht.Rows(LngCR).Insert Shift:=xlDown

        'Populate it
        WkSht.Range("A" & LngCR) = "Your static text"

        'Increase the last row as it will now be one more
        LngLR = LngLR + 1

        'Got to the next 50th
        LngCR = LngCR + 50
    Loop

Set WkSht = Nothing

End Sub
  • これは良い習慣であるため、変数としてワークシートに接続しました。今のところ問題なく動作しますが、読みにくくなる可能性があり、コードのあいまいさが大きくなると、予期しないことが起こります。
  • 一度に 1 ではなく 50 ずつインクリメントしました。技術的には、これにより 50 倍高速になりますが、今日のコンピューターではすべてぼやけています :)
  • コードは、行を追加するたびに最後の行が 1 つ下に移動することを考慮していませんでした。
于 2016-07-26T19:35:39.080 に答える