1

Excel の背景
2 つの Excel 列と行の長いレコードを取得しました。(10列以上あるため、例のみ)

A列 - 「はい」か「いいえ」のどちらかです B列 - 備考です。必要なものは何でも入力できます


仕組み
これは注文システムです。日付が遅れる場合、列 A は「はい」と表示されます。遅れがない場合、「いいえ」と表示されます。



次のことを実行するには、VBA コードが必要です

列 B2 に「遅延なし」というテキストが含まれている場合、列 A2 は「はい」から「いいえ」に変わります。


私がテストしたこと

    Private Sub UpdateColumnA()
    Dim x As Long
    For x = 4 To 65536
    Dim InStr As String

    If InStr(1, Sheet1.Range("$M$" & x), "No Delay") Then
        Sheet1.Range("$K$" & x) = Sheet1.Range("$K$" & x) & "No"
        End If

    Next
    End Sub

上記の問題は、A2列の「はい」が「はいいいえ」になることです。既存のテキストに追加するのではなく、はいをいいえに置き換える必要があります。

また、B2のテキスト「No Delay」が完全に一致しないとまったく機能しないので、「nO Delay」「No DeLAy」など、大文字と小文字を区別しないようにしたい。

4

1 に答える 1

2

オプション vbTextCompare を使用すると、比較で大文字と小文字が区別されなくなります。

InStr(1, Sheet1.Range("$M$" & x), "No Delay", vbTextCompare)

また、単純な割り当てYesNoでは、セル内の値の連結 (" ")を回避できます。

Sheet1.Range("$K$" & x).Value = "No"
于 2012-12-28T17:57:33.450 に答える