excel vba - 为变量分配一个特定的单元格值
我正在面对一个简单的问题,我的代码。我在我的宏中声明了一些值,并且我想将特定的单元格的值(这是一个日期)设置为一个变量。但它不起作用,当我用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。
我修改了它一点一点尝试的代码,你应该使用括号在代码:
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
我觉得
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”。 – Bildircin13
没关系。没有看到它解决:D – Windalfin
非常感谢你的男人。工作就像一个魅力:) – Bildircin13