我有一个EXCEL表,里面有一列比如A列是“借”,或者是“贷”。我想用VBA判断A列后如果是借就在相应的行上C列的数字前加一个“+”,如果是“贷”就在相应的行上加一个“-”。怎么写程序,在线等先谢谢了。

解决方案 »

  1.   

    Sub 宏1()
        If Trim$(Cells(1, 1).Value) = "借" Then
          Cells(1, 3).Value = Chr(43) & Cells(1, 3).Value
        End If
           
        If Trim$(Cells(1, 2).Value) = "贷" Then
           Cells(1, 4).Value = Chr(45) & Cells(1, 4).Value
        End If
    End Sub'Cells(1, 3).Value 即行1列3的值,其他类推
    'Chr(43) 即加号(+),'Chr(45) 即减号(-)
    '必须将单元格的格式设置为文本
      

  2.   

    这样的我也做出来了,而且不用格式设成文本的。这样只能前两行有用其他行怎么办呢?
    我是说EXCLE文件已经形成,能不能自动判断记录的多少然后自动实现功能。
      

  3.   

    Sub marco1()
           Dim i As Long
           
           For i = 1 To Sheet1.UsedRange.Count
                 Select Case Sheet1.Cells(i, 1)
                          Case "借"
                                   Sheet1.Cells(i, 3) = "+" & Sheet1.Cells(i, 3)
                          Case "贷"
                                   Sheet1.Cells(i, 3) = "-" & Sheet1.Cells(i, 3)
                          Case Else
                 End Select
                 
           Next i
    End Sub
      

  4.   

    嗯,大概明白楼主的意思吧。方法上面有了,就再补充一点吧,既然要自动识别,可以在thisworkbook里面添加判断代码,这样的话有助于自动识别,使你在输入数值时就可以知道加或者减!