2016-06-27 11 views
0

現在、私のExcelスプレッドシートには、選択した行の下に行を挿入できません。スプレッドシートの最後に新しいチケットが追加されるので、新しいチケットを追加するには、TOTALS行の前の行をクリックして挿入をクリックしますが、選択した行の上に新しい行が挿入されます。ここでExcel - テーブルフォーマットを含む行マクロを挿入

スクリーンショットは、私は、セル33を選択し、挿入をクリック示すが、新しい行が上に添加した:

enter image description here

enter image description here

Iマクロコードを使用する場合、それは完全に行を追加:

enter image description here

ただし、新しい行はありませんテーブルと一致するようにフォーマットされています。私はテーブルフォーマットに基づいて新しい行をフォーマットするためにマクロを調整したいと思うでしょう(この場合は青で強調表示され、正しい行があるはずです)。二重上部のセルラインは、同様に全行に留まるべきである。ここで

は、以下の私のmecroです:

Sub InsertRowBelow() 

    Application.ScreenUpdating = False 

    ActiveCell.Offset(1, 0).EntireRow.Insert 
    ActiveCell.EntireRow.Copy 
    ActiveCell.Offset(1, 0).Select 
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _ 
     SkipBlanks:=False, Transpose:=False 
    Application.CutCopyMode = False 

Application.ScreenUpdating = True 

End Sub 

私は明確ではないです場合は私に知らせてください。ヒント/ガイド/チュートリアルは参考になります。

+0

を私はあなたのコードを実行しているとき、それは完璧に動作しますが、それは行を追加し、表形式を保持します。 –

+1

私はまた、頭痛を引き起こす可能性のある '.Activate'の使用を避けることをお勧めします(http://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba-macros)。 – BruceWayne

+0

私のフォーマットも追加しますが、合計行の前にRIGHT行を選択した場合は表示されません。スプレッドシートの間で行を選択すると、完全に機能します。スプレッドシートの最後に(TOTALS行の上に)追加すると、フォーマットは保持されません。 – KKP

答えて

1

あなたはちょうどその使用テーブルに新しい行を追加したい場合は、次の

ActiveWorkbook.Worksheets(1).ListObjects(1).ListRows.Add 
+0

これはうまくいきましたが、各セルの間に線(境界線)を適用しませんでした。行の上下に適用された行(境界線)のみ。 – KKP

+0

@KKPそれはテーブルのフォーマットを適用する必要があります...私は確信していません。あなた自身でフォーマットを追加しましたか? – Brian

+0

これは大きな可能性があります。確認して、あなたに連絡してください。 – KKP

関連する問題