別のシートの値を集約し、これらの値に基づいて最初のシートに戻って削除するマクロがあります。別のシートに基づいてシート上の行を削除するマクロ
シートはG2の値(マニアリニア)の場合はF2の行の番号を取得し、行のプレビューを削除します。 そうでなければ、I2に行き、同じことをします。 ご協力いただきありがとうございます。
私はこれまでのところ、これを持っている:
Sub Delete()
Range("G2").Select
Do Until IsEmpty(ActiveCell)
Range("G" & Rows.Count).Select
If Range("G" & 2).Value = ("<<<Manter a linha") Then
Sheets("Controle Estoque Fixo").Select
Rows("2:5").Select
Selection.EntireRow.Delete
End If
Loop
EDIT:今
Dim r1 As Range, c As Range
Dim s As String
Dim v As String
Dim k As String
Dim t As String
k = "1"
Set r1 = Range(Cells(2, "H"), Cells(Rows.Count, "H").End(xlUp))
v = Sheets("Analise de Estoque").Cells(2, "G").Value
For Each c In r1
If c.Text = ("<<<Manter a linha") Then
Sheets("Controle Estoque Fixo").Select
t = (v - 1)
Rows(t).Select.Clear
End If
Next
End Sub
私は戻って、行が含まれているセルの値を選択することができ、そのI保持したいので、その前に選択するために " - 1"を追加しますが、私は懇願して追加しました(文字列としてTを追加しようとしました= 1)
に最後の行から行かなければならない行を削除するときに 'macro'タグの記述を読みましたことを覚えていますか? * MS Office/VBA /マクロランゲージ*用ではありません。削除されました。 – trincot
こんにちは!行番号として変数を導入する必要がありますので、ループするものがあります。そして 'If'テストの後、' 'F"&i'または '' H "&i'(' i'はあなたの現在の行番号です)のセル値を使用して、他のシートの削除を行います。行番号を増やすことを忘れないでください。行を削除すると、行番号がさらに下になるので注意してください。恐らく '.Clear'や' .ClearContents'がより適切でしょう。 [Here](http://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba-macros)は、「選択」と「アクティブセル」を回避する方法に関するヒントです。 – arcadeprecinct