2009-11-11 22:10:59 +0000 2009-11-11 22:10:59 +0000
15
15

エクセルの各n番目の行を選択します。

数千行のExcelスプレッドシートがあります。そのスプレッドシートから7番目の行をすべて選択したいと思います。(「選択」とは、他の行をすべて削除するか、選択した行を新しいワークシートにコピーすることを意味します)。

Excel 2003でこれを行う最も簡単な方法は何ですか?

こちらも参照してください。Numbersの各n番目の行を選択する](https://superuser.com/questions/69513/select-each-nth-row-in-numbers) 0x3&

回答 (5)

19
19
19
2009-11-11 22:27:52 +0000
  1. 最初の行に数式を挿入 =MOD(ROW(),7)
  2. 特殊な値をコピー/貼り付け
  3. データ/フィルタリングしたいものを除外する(0か6、たぶん)
  4. 残りの行を削除する フィルタを削除する 列を削除する
3
3
3
2012-11-08 12:23:18 +0000
  1. 列を挿入します。
  2. 最初の行に 1 を挿入します。
  3. Ctrlキーを押しながら7行目までコピーする。
  4. そのブロックを掴んで、最後まで同じことを繰り返す。
  5. データ/不要なものをフィルタリングして削除する。
  6. 挿入した列を削除する。
3
3
3
2009-11-12 00:42:01 +0000

ランドルフ・ポッターが始めたアイデアを本当に完成させたところだ….

念のために言っておきますが、記録することでこれを思いつくことはないと思います。マクロの記録は、Excelオブジェクトモデルに慣れるための良い方法ですが、再利用可能な関数を書くにはあまり良い方法ではありません。

Option Explicit

'A simple test that copies every 7th row from the active sheet to a new sheet.
Sub SimpleTest()
    Dim r As Range
    Dim ws As Worksheet

    Set r = GetEveryNthRow(7)
    If Not r Is Nothing Then
        Set ws = Worksheets.Add(Before:=Sheets(1))

        r.Copy ws.Range("A1")
    Else
        MsgBox "Nothing came back from GetEveryNthRow"
    End If
    Set ws = Nothing
    Set r = Nothing
End Sub

'
Function GetEveryNthRow(ByVal NthRow As Long) As Range
    Dim keepRows As Range
    Dim r As Range

    If NthRow > 0 Then
        Set keepRows = Rows(1)
        For Each r In ActiveSheet.UsedRange.Rows
            If (r.Row Mod NthRow) = 0 Then
                Set keepRows = Union(keepRows, Rows(r.Row))
            End If
        Next r
        Set GetEveryNthRow = keepRows
    Else
        MsgBox "The row multiple provided must be greater than 0"
    End If

    Set keepRows = Nothing
End Function
1
1
1
2017-07-17 05:16:57 +0000

すべての7行目を選択するには、より簡単な方法があります:あなたの列の最初の7行ではなく、1つ(最初の)は、内部に何かを書き込みます。次に、この7行を選択し、全体の列にそれらをコピーします。さて、必要なのはSELECT–GO TO SPECIAL–select BLANKS–OK これで7つの行が選択範囲になりました。これで好きなことができるようになりました。お楽しみに

0
0
0
2018-10-25 16:21:05 +0000

7 行目ごとに、

  1. 列を挿入する
  2. 1行目から6行目までに “X”
  3. 7行目には1,
  4. 列にはそのブロック
  5. 5. その列に「重複を削除」を使用する。1行目を削除する(1つ目の “X "が付いている)。
  6. 追加された列の削除