返回列表 上一主題 發帖

一儲存格 用IF 多判斷式 顯示不同值or文字

一儲存格 用IF 多判斷式 顯示不同值or文字

Dear 各位大大好   ^ ^


小弟想在一個儲存格裡面 假設是A1能顯示三個值(假設這三個職是甲、乙、丙)。

但是A1 會依據 B1 儲存格的內容 顯示不同資訊。 (假設B1為 一個ComboBox1 的 LinkedCell 下拉選單有三個為 你、我、他)

所以我希望
B1 為 "你" 的時候 A1 為 "丙" ,
B1 為 "我" 的時候 A1 為 "乙"
B1 為 "他" 的時候 A1 為 "甲"

請問大大我該怎麼寫VBA?
謝謝大大 大大你真棒!!!

回復 1# webbliu
If [B1] = "你" Then
        [A1] = "丙"
ElseIf [B1] = "我" Then
        [A1] = "乙"
ElseIf [B1] = "他" Then
        [A1] = "甲"
End If

TOP

回復 2# GBKEE


    Dear 大大
         我有辦法讓這段語法 像是 儲存格裡的 函數式 一樣自動而且不間斷地執行嗎?

  目前我貼在VBA Project 的workbook 就是要執行一次 sub 才會更新儲存格一次!

  非常感謝!!!

TOP

本帖最後由 GBKEE 於 2010-8-4 09:35 編輯

回復 3# webbliu
這是ThisWorkbook 觸發事件程式
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
這是WorkSheet 觸發事件程式     
Private Sub Worksheet_Change(ByVal Target As Range)
將程式碼複製到其中之ㄧ裡面
即可 試試看

TOP

回復 2# GBKEE

藉此主題發問相關問題

假設
A1 有[值]的時候 執行A副程式
A2 有[值]的時候 執行B副程式
A3 有[值]的時候 執行C副程式

請問該下列紅字部分該如何更改

If [A3] > 0 Then
        C副程式
ElseIf [A2] > 0 Then
        B副程式
ElseIf [A1] >0 Then
        A副程式
End If

TOP

回復 5# jackson7015

>0  改為  <>""

TOP

想了幾天都沒想到...

原來<>是用在這種地方,感激解答

TOP

亦可用select的方式來處理

Select Case [B1]
    Case "你"
         [A1] = "丙"
    Case "我"
         [A1] = "乙"
    Case "他"
         [A1] = "甲"
End Select
學習才能提升自己

TOP

  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. If Target.Address <> "$B$1" Then Exit Sub
  3. [a1] = Mid("丙乙甲", InStr("你我他", [b1]), 1)
  4. End Sub
複製代碼

TOP

A1  儲存格的內容  =    IF(B1="你","丙",IF(B1="我","乙",IF(B1="他","甲","")))

TOP

        靜思自在 : 靜坐常恩己過、閒談莫論人非。
返回列表 上一主題