2016-06-15 14 views
0

外部ベンダーからメーリングリストを引き継ぎます。 Excel 2010を使用します。固有のアカウント番号の列があります。Excelで行を追加してアカウント番号を増やす

既存の行が変更されているのとは対照的に、新しい行が追加される時期を決定し、最大(口座番号)を取得する方法を確認し、新しい口座番号を一意に保つために1を追加するにはマクロが必要です。

答えて

0

シートの変更を追跡できます。

Private Sub Worksheet_Change(ByVal Target As Range) 
    Dim record As Range 
    Dim maxAccountNo As Long 

    For Each record In Target.Rows 
     If Cells(record.row, 1) = "" And WorksheetFunction.CountA(record.EntireRow) > 0 Then 
      If Not maxAccountNo Then 
       maxAccountNo = 1 + WorksheetFunction.Max(Range("$A:$A")) 
      End If 
      Cells(record.row, 1) = maxAccountNo 
     End If 
    Next 
End Sub 
:ワークシートのVBAモジュールにこのコードを入れて

:変更されたセルは、口座番号の欄には何も持っていない行の非空白発見された場合、新しい口座番号が計算され、充填されます

これは、アカウント番号が記入されていない複数の行をコピー/貼り付ける場合もカバーします。

このコードでは、口座番号が最初の行を除く列Aにあることを前提としています。

$A2:$A100000 

...とも内の列番号:必要に応じて、コード内でこの参照を適応

Cells(record.row, 1) 
+0

これはあなたの疑問にお答えしましたか?あなたはコメントを残すことができますか? – trincot

関連する問題