0
I'veはこれを使用してコンテンツと範囲を選択するには、管理秀でますオフセット機能。たとえば、範囲選択C3:D6をB2:E7にしたいとします。4つの方向のVBAでアクティブセルの範囲を拡張し
、可能なC3の場合:D6; F3:G6; I3:J6がB2になるために:K7何とか
I'veはこれを使用してコンテンツと範囲を選択するには、管理秀でますオフセット機能。たとえば、範囲選択C3:D6をB2:E7にしたいとします。4つの方向のVBAでアクティブセルの範囲を拡張し
、可能なC3の場合:D6; F3:G6; I3:J6がB2になるために:K7何とか
何が
Sub TestResizeAndMergeAreas()
Dim r As Range
Worksheets.Add
Range("C3:D6,F3:G6,I3:J6").Value = "Test Data"
Range("A1:Z20").Select
On Error Resume Next
Set r = Selection.SpecialCells(xlCellTypeConstants, 23)
On Error GoTo 0
If Not r Is Nothing Then
Debug.Print "Before:", r.Address
ResizeAndMergeAreas r, -1, 1, -1, 1
Debug.Print "After:", r.Address
End If
r.Select
End Sub
Sub ResizeAndMergeAreas(ByRef Target As Range, x1 As Long, x2 As Long, y1 As Long, y2 As Long)
Dim rArea As Range
For Each rArea In Target
Set Target = Range(Target, rArea)
Next
Set Target = Target.Offset(x1, y1).Resize(Target.Rows.Count + x2 + (x1 * -1), Target.Columns.Count + y2 + (y1 * -1))
End Sub
可能である自身でこの作業がI'発生する必要があります私のワークブックと新しいものでそれを試しましたが何も起こりません、何が間違っていますか? – mrkrister
私はこれを実行すると、C3:D6; F3G6; I3.J6とA1:Z20 – mrkrister
の選択で書かれた新しいシート「テストデータ」が完成します。あなたの忍耐力に感謝しています。しばらくの間、私はそれを理解することに近く、カップルのテストと編集をした後に私はやっているかもしれませんが、これの最終結果はまさに私が何をしたかです。ありがとうございました! – mrkrister