Board logo

標題: vba如何取代字串 [打印本頁]

作者: jerrystock    時間: 2015-3-21 16:21     標題: vba如何取代字串

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

回復 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
複製代碼

作者: jerrystock    時間: 2015-3-21 22:10

回復 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
眼睛快花掉了  還是不行 請大大是否能再次指導愚弟  謝謝
作者: lpk187    時間: 2015-3-22 00:02

回復 3# jerrystock


  方便上傳你的檔案上來嗎?
作者: lpk187    時間: 2015-3-22 00:15

本帖最後由 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)來表示之
作者: jerrystock    時間: 2015-3-22 09:03

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




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)