2017-07-18 196 views
0

我正在面對一個簡單的問題,我的代碼。我在我的宏中聲明瞭一些值,並且我想將特定的單元格的值(這是一個日期)設置爲一個變量。但它不起作用,當我用F8檢查它時,它顯示它等於「0」。excel vba - 爲變量分配一個特定的單元格值

我願意接受任何建議。

這是代碼的一部分;

If j = 1 And Worksheets(WS_All).Cells(8, 3).Value = "Yeni Egitim" Or j = 1 And Worksheets(WS_All).Cells(8, 3).Value = "Tanitim/Reklam" Then 
WA1 = Worksheets(j_WS).Cells(Satir_bul, 7).Value 

正如你所看到的,「WS_All」,「Satir_bul」和「j_WS」預定義宏,我看到那些在F8檢查的值,但WA1當屬「0」。 我也宣佈WA1爲Integer。

回答

0

我修改了它一點一點嘗試的代碼,你應該使用括號在代碼:

Sub test() 
    Dim WS_all As String 
    Dim j_WS As String 
    Dim WA1 As Variant 
    Dim Satir_bul As Integer 
    Dim j As Integer 

    WS_all = "List1" 
    j_WS = "List2" 
    Satir_bul = 1 
    j = 1 

    If j = 1 And Worksheets(WS_all).Cells(8, 3).Value = "Yeni Egitim" Or j = 1 And Worksheets(WS_all).Cells(8, 3).Value = "Tanitim/Reklam" Then 
     WA1 = Worksheets(j_WS).Cells(Satir_bul, 7).Value 
     MsgBox (WA1) 
    End If 
End Sub 

,併爲我工作。可能的是,在檢查String之前或/和之後,您在Cells(8, 3)中有一些空格,並且這不會滿足條件。

那麼簡單Trim功能,可以使用如下:

If j = 1 And Trim(Worksheets(WS_all).Cells(8, 3).Value) = "Yeni Egitim" Or j = 1 And Trim(Worksheets(WS_all).Cells(8, 3).Value) = "Tanitim/Reklam" Then 
+0

非常感謝你的男人。工作就像一個魅力:) – Bildircin13

0

我覺得

If (j = 1 And Worksheets(WS_All).Cells(8, 3).Value = "Yeni Egitim") Or (j = 1 And Worksheets(WS_All).Cells(8, 3).Value = "Tanitim/Reklam") Then 
WA1 = Worksheets(j_WS).Cells(Satir_bul, 7).Value 
+0

我用括號嘗試過,但它仍然給「0」。我檢查變量的值,一切工作正常。它應該給我我寫的日期,但仍然是「0」。 – Bildircin13

+0

沒關係。沒有看到它解決:D – Windalfin

相關問題