を入力されると、私は次のようなデータがある場合には「L」列見出しがステータスであるデータシートを持っていますソートしてトップに行く。自動ソート行データが
私のシートには、すべての完成した行が上に表示されます。
このように自動ソートを手伝ってください。
を入力されると、私は次のようなデータがある場合には「L」列見出しがステータスであるデータシートを持っていますソートしてトップに行く。自動ソート行データが
私のシートには、すべての完成した行が上に表示されます。
このように自動ソートを手伝ってください。
次をワークシートモジュールに貼り付けます。
Private Sub Worksheet_Activate()
myBoolean = False
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Not myBoolean Then
If Mid(Target.Address, 1, 2) = "$L" Then
On Error GoTo goodBye
If UCase(Target.Value) = "COMPLETED" Then
Run moveRowToTop(Target.Row)
End If
myBoolean = False
End If
End If
goodBye:
On Error GoTo 0
End Sub
次に標準モジュールに以下を貼り付けます。
Public myBoolean As Boolean
Function moveRowToTop(rowToChange As Long)
Application.ScreenUpdating = False
myBoolean = True
Range("A2").Select
Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
ActiveSheet.Range("A" & rowToChange + 1 & ":L" & rowToChange + 1).Select
Selection.Copy
Range("A2").Select
ActiveSheet.Paste
ActiveSheet.Rows(rowToChange + 1 & ":" & rowToChange + 1).Select
Selection.Delete Shift:=xlUp
Range("L2").Select
Application.ScreenUpdating = True
End Function
お試しください。
はいデータを入力するときにrow2までの行を追加したいL列が "completed" – user3705748
@JohnRichter:良い明確な質問 - いくつかの点があります! –
@Solar Mikeありがとうございました。 –
あなたの質問に「シューティング」を停止してください! – davejal
式を別の列に使用すると、入力が完了したときにソートされたデータが表示されます。 – harun24hr