返回列表 上一主題 發帖

vba如何取代字串

vba如何取代字串

請問欄位S2公式為VLOOKUP(AK2,'2641'!$A$2:$F$250,2,0)
如何在C2欄位輸入數字後取代S2欄位的2641工作表名稱 C3.C4...輸入也會取代S3.S4的工作表名稱
謝謝

回復 1# jerrystock

給你參考!!
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.     If Target.Address = Cells(Target.Row, "C").Address Then
  3.         i = Chr(39) ' 取單冒號
  4.         Cells(Target.Row, "S") = "=VLOOKUP(AK" & Target.Row & "," & i & Cells(Target.Row, 3) & i & "!$A$2:$F$250,2,0)"
  5.     End If
  6. End Sub
複製代碼

TOP

回復 2# lpk187
謝謝大大快速回覆程式碼執行無誤
我在S2公式更改為=IF(AND(AK2<>"",import!O1>=profitB!AK2),VLOOKUP(AK2,'2641'!$A$2:$F$250,2,0),"") 因為沒數據欄位會出現#N/A所以加上去
嘗試自己試試看結果沒概念的我就用這樣
Private Sub Worksheet_Change(ByVal Target As Range)
        If Target.Address = Cells(Target.Row, "C").Address Then
            i = Chr(39) ' 取單冒號
            Cells(Target.Row, "S") = "=IF(AND(AK" & Target.Row & <>""  & "," & "import" & "!O1">=AK"  & Target.Row) & "," & "VLOOKUP(AK" & Target.Row & "," & i & Cells(Target.Row, 3) & i & "!$A$2:$F$250,2,0) & "," "")"
        End If
    End Sub
眼睛快花掉了  還是不行 請大大是否能再次指導愚弟  謝謝

TOP

回復 3# jerrystock


  方便上傳你的檔案上來嗎?

TOP

本帖最後由 lpk187 於 2015-3-22 00:23 編輯

回復 3# jerrystock

或則貼上下列式子看看
  Cells(Target.Row, "S") = "=IF(AND(AK" & Target.Row & "<>""""," & "import!O1>=AK" & Target.Row & "),VLOOKUP(AK" & Target.Row & "," & i & Cells(Target.Row, 3) & i & "!$A$2:$F$250,2,0),"""")"
有一對雙引號("")中間的文數字都視為字串,所有有雙引號的地方必須要再用雙引號框住,例如一個雙引號為("""),2 個則為(""""),依此類推,所以必須知道你的字串在哪裡
單引號(')在程式中視為註解,所以用Chr(39)來表示之

TOP

回復 5# lpk187
謝謝大大說明教學 幫我解決疑問  不知道如何跟您道謝 只能在此跟您說聲無盡的感謝
您是好人^^

TOP

        靜思自在 : 得理要饒人,理直要氣和。
返回列表 上一主題