0

3つの異なるドロップダウンからのデータをスプレッドシートに挿入したいのですが、いくつかの問題があります。cbo_fac1cbo_fac2cbo_fac3という3つのドロップダウンがあります。ユースケースは次のとおりです。

ユースケース1

cbo_fac1 - User selects 'No Preference' 
cbo_fac2 - User selects 'No Preference' 
cbo_fac3 - User selects 'No Preference' 

この場合、スプレッドシートのセルに「設定なし」を挿入するだけです。これは今のところうまく処理されています。

ユースケース2および3

cbo_fac1 - User does not select 'No Preference' 
cbo_fac2 - User does not select 'No Preference' 
cbo_fac3 - User selects 'No Preference' 

cbo_fac1 - User does not select 'No Preference' 
cbo_fac2 - User selects 'No Preference' 
cbo_fac3 - User selects 'No Preference' 

No Preferenceどちらの場合も、'設定をスキップせず、挿入されない値のみをスキップする必要があります。

私はこれを試みましたが、残念ながらシステムは省略したいコンマを挿入します。したがって、PC,DVD,または,DVD,PCユーザーがNo Preferenceオプションを選択した場合のようなエントリを作成する代わりに、オプションを整理して、空白のエントリに関連付けられているカンマを削除するPC, DVDようにします。DVD, PC

私の説明が十分に明確であることを願っています。これまでに達成したことを示すために、以下のコードを含めました。

 If Me.cbo_fac1 <> "No preference" Then
    cbo_fac1Entry = Me.cbo_fac1.Value
    Else
    cbo_fac1Entry = ""
    End If
    If Me.cbo_fac2 <> "No preference" Then
    cbo_fac2Entry = Me.cbo_fac2.Value
    Else
    cbo_fac2Entry = ""
    End If
    If Me.cbo_fac3 <> "No preference" Then
    cbo_fac3Entry = Me.cbo_fac3.Value
    Else
    cbo_fac3Entry = ""
    End If

    cbo_facEntry = cbo_fac1Entry & "," & cbo_fac2Entry & "," & cbo_fac3Entry

    If cbo_facEntry = ",," Then
    cbo_facEntry = "No Preference"
    Else
    End If

    rng1.Offset(1, 13) = cbo_facEntry
4

1 に答える 1

1

If cbo_facEntry = ",," Then
cbo_facEntry = "No Preference"
Else
End If

挿入します

cbo_facEntry = Trim(cbo_facEntry)

If Right(cbo_facEntry, 1) = "," Then
   cbo_facEntry = Left(cbo_facEntry, Len(cbo_facEntry) - 1)
End If

If Left(cbo_facEntry, 1) = "," Then
   cbo_facEntry = Right(cbo_facEntry, Len(cbo_facEntry) - 1)
End If

If InStr(1, cbo_facEntry, ",,") Then
   cbo_facEntry = Replace(cbo_facEntry, ",,", ", ")
End If

カバーケース「、DVD、、PC」

于 2012-10-30T09:44:27.667 に答える