1

Excel ワークブックに 2 つのフィールドがあります。

1. MED - 範囲("J13:K13")

式: =IF(D5=1,"X","")

2. NON-MED - 範囲("L13:M13")

式: =IF(D5=2,"X","")

以下のコードを使用すると、フィールドは常に空ではないため、「1」の値が保存されます。

    '1. Med
    If Not IsEmpty(range("J13:K13").value) Then
        Worksheets("FeedSamples").range("AK" & newRow).value = 1
    Else
        Worksheets("FeedSamples").range("AK" & newRow).value = 0
    End If
    '2. Non-Med
    If Not IsEmpty(range("L13:M13").value) Then
        Worksheets("FeedSamples").range("AL" & newRow).value = 1
    Else
        Worksheets("FeedSamples").range("AL" & newRow).value = 0
    End If

IF ステートメントで次を使用しようとしましたが、カウントは常に「1」です。

    '1. Med
    If WorksheetFunction.CountA(range("J13:K13")) = 0 Then

誰にもアイデアはありますか?フィールドの値に「X」がある場合 (または長さのカウントが 1)、別のワークシートに「1」を保存する必要があります。フィールドが空 (または長さのカウントが 0) の場合、他のワークシートに「0」を保存する必要があります。

IsEmpty() のチェックが正しく機能しない理由がわかりません。

4

1 に答える 1