連続していない行/列の範囲を自動的に選択する方法

連続していない行/列の範囲を自動的に選択する方法

Excel ドキュメントがあり、その中の数百行 (必ずしも連続している必要はありません) を選択して、それを別のドキュメント (偶然にも Word の住所ラベル ドキュメントのソース ドキュメントとして機能します) にコピーしたいと考えています。

最初の部分、つまり適切な行を選択することを除いて、これを行う方法はすべて理解しています。

「1-5、7、9-13、24-28、33」などの文字列を入力すると、指定された行が選択されるダイアログがどこかにありますか? それとも、何らかのマクロを使用する必要がありますか?

編集: 私が求めているのは、通常の選択であることに注意してください。希望する選択を実現するために、Ctrl キーを押しながら列を次々にクリックするという面倒なプロセスを「自動化」したいと考えています。

答え1

(以下のコードで) A1 にデータを入れると仮定すると、これで完了です。

行として数字、列として文字列を受け入れることに注意してください。

Option Explicit
Sub HighlightAllSortsOfMadness()

Dim values() As String

values = Split(Range("A1").Value, ",") 'A1 is rows and columns you specify, such as 1,4,6,7,B,D . Separate each with a comma, 


Dim result As String

Dim i As Integer

    For i = 0 To UBound(values)
        If values(i) = "" Then
            Exit For
        End If

    result = result & values(i) & ":" & values(i) & ","

    Next i

    Range(Left(result, Len(result) - 1)).Select

End Sub

前に

ここに画像の説明を入力してください

そしてマクロを実行した後

ここに画像の説明を入力してください

答え2

文字や数字がわかっている場合は、簡単な数式で選択できます: =B:B;D:D;G:G;I:I;K:K;N:P;

B:B は列全体を選択します。N:P は N から P までの列全体を選択します。

関連情報