0

ここで私の使用に最適なマクロを見つけたので、すでにスタックオーバーフローコミュニティに感謝しています! 以下の最後の最後の部分を修正するのに苦労しています:

Sub Forename()

' Macro to delete rows if there are less than 4 in the NAME column

Dim LR As Long, i As Long
Application.ScreenUpdating = False
LR = Range("NAME" & Rows.Count).End(xlUp).Row
For i = LR To 1 Step -1
    If Len(Range("NAME" & i).Value) < 4 Then Rows(i).Delete
Next i
Application.ScreenUpdating = True

End Sub

これは完璧ですが、<1 の値を含む行を削除する代わりに、テキストに置き換えたいと思います。例: 顧客。

前もって感謝します

4

2 に答える 2

0

削除行を次のように置き換えます。

If Len(Range("NAME" & i).Value) < 4 Then Range("NAME" & i).Value = "Text"

于 2013-11-05T11:41:21.760 に答える
0
row containing the <1 value
Len(Range("NAME" & i).Value)

空白のセルをテキストに置き換えるということですか?はいの場合、ループは必要ありません。以下は、ループせずに目的を達成するための 2 つの VBA の方法と 1 つの非 VBA の方法です。

方法 1 (使用.SpecialCells)

Option Explicit

Sub Sample()
    On Error GoTo Whoa

    ThisWorkbook.Sheets("Sheet1").Range("Name").SpecialCells(xlCellTypeBlanks).Value = "Customer"

    Exit Sub
Whoa:
    MsgBox "No blank cells found"
End Sub

方法 2 (使用.Replace)

Option Explicit

Sub Sample()

    ThisWorkbook.Sheets("Sheet1").Range("Name").Replace What:="", _
    Replacement:="Customer", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False, _
    SearchFormat:=False, ReplaceFormat:=False

End Sub

方法 3(Non VBA)

CTRL+を押しますH

  1. 範囲を選択してください
  2. Find What:空白のままにする
  3. 入れるCustomer_Replace With:
  4. クリックReplace All
于 2013-11-05T11:45:29.310 に答える