私は複雑なスプレッド シートを作成しています。このスプレッド シートでは、ネットワークを介してさまざまな顧客への通話を毎週監視できます。「raw_data」と「Sheet1」の 2 つのシートがあります。
サーバーから "Sheet1" に垂直レイアウトにデータをコピーし、不要なデータ行を削除するマクロを実行します。
「生データ」では、通話量を顧客名に従って水平レイアウトでソートする必要があります。このシートに必要なのは、列 A を検索して次の空いているセルを探し、新しい行を挿入し、シーケンス内の次の日付 (19/03/2012、26/03/) を追加するマクロが割り当てられた少なくとも 1 つのボタンです。 2012、...)、最後に「Sheet1」からデータをコピーし、正しい列ヘッダーの下に値を貼り付けます(「Sheet1」の内容を削除したいが、値は「raw_data」に保持します)。
特定のポイントに新しい行を挿入するVBAを知っていますが、長いリストの最後には挿入しません。ここに私が持っているコードがあります:
Sub Insertrow()
Rows("33:33").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End Sub
どんな助けでも素晴らしいでしょうし、同様の例でさえ素晴らしいので、自分で編集して学ぶことができます.
ありがとう!
マーク
アップデート
コードを正しい形式でコメントに追加できなかったようです。では、また行きます...
Sub Insertrow()
'Selects next empty cell in column A
ActiveWindow.ScrollRow = 2
Range("A2").Select
Selection.End(xlDown).Offset(1, 0).Select
'Inputs the next date
Dim n As Long, k As Long
Application.ScreenUpdating = False
Rng = 1
Range(ActiveCell, ActiveCell.Offset(Val(Rng) - 1, 0)).EntireRow.Insert
k = ActiveCell.Offset(-1, 0).Row
'copies the formula 1 cell from the left (Column A) to the row below
n = Cells(k, 1).End(xlToLeft).Column
Range(Cells(k, 1), Cells(k + Val(Rng), n)).FillDown
End Sub
ここでやりたいことは、Sheet1 の列を検索して、特定のテキスト文字列 (raw_data のヘッダー) を検索し、コード (上記) から生成された日付の下にあるこの行の値をコピーすることです。おそらく、上記のようなコードやネストされた if ステートメントを使用できますが、シート 1 の値は毎週削除されます。これは可能ですか、それとも頭の中で夢想しているだけですか?