2017-08-17 4 views
0

私は、選択後に空白の行を挿入するためにExcelマクロを開始しましたが、空白が必要ですrowheight = 6。私はVBAの初心者ですが、勉強に熱心です。選択のために特定の高さの空白行を挿入するにはどうすればよいですか?

これは仕事中のプロジェクト用です。

Dim Rng As Range 
Dim WorkRng As Range 
Dim FirstRow As Integer, xRows As Integer, xCols As Integer 
On Error Resume Next 
Set WorkRng = Application.Selection 
Set WorkRng = Application.InputBox("Range", WorkRng.Address, Type:=8) 
FirstRow = WorkRng.Row 
xRows = WorkRng.Rows.count 
xCols = WorkRng.Columns.count 
Application.ScreenUpdating = False 
WorkRng.Cells(xRows, 1).Resize(1, xCols).Select 

Do Until Selection.Row = FirstRow 
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove 
    Selection.Offset(-1, 0).Select 

Loop 

Application.ScreenUpdating = True 
End Sub 
+2

右足で開始します。 On Error Resumeの使用を中止する方法が分かるまで、次へをクリックします。 http://www.cpearson.com/Excel/ErrorHandling.htm – niton

答えて

0

に最適です注意してください。プロパティ。以下のコードはあなたが言及したスペーサーの列を挿入します。

Option Explicit 
Sub insertSpacerColumns() 
Dim r As Range, i As Integer, startCol As Integer, numSpacers As Integer 
Set r = Application.InputBox("Select columns", , , Type:=8) 
i = r(, 1).Column + 1 
numSpacers = r(, r.columns.Count).Column - i + 1 
Do 
    columns(i).Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove 
    columns(i).ColumnWidth = 1 
    i = i + 2 
    numSpacers = numSpacers - 1 
Loop Until numSpacers = 0 
End Sub 
1

あなたは.RowHeight()プロパティたい:

Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove 
Selection.Offset(1,0).RowHeight = 6 
Selection.Offset(-1, 0).Select 

を...しかし、それは、行を挿入rows(3).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAboveようなコードを使用して.ColumnWidthを使用して列幅を変更するにはAvoid using .Select/.Activate

+0

ありがとう!私はまた、列のグループを選択した後にスペーサ列を追加するのに問題があります。また、それらを特定の幅にしたいと思います。 – Wendi

関連する問題