Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do i add dashes till my cell value equals to five in vba

Tags:

vba

How do i add dashes(-) til my cell value = 5, If my length character is not equal to five and i have a 4 character, for ex A B... what i want it to do if i have cell value less then 5 then i want it to replace with dashes(-) till my cell length value reach to 5 character. Here is my Code and image... IMAGE will make more sense.. let me know if there is any confusion.enter image description here

  Sub xn()
  Dim x As Integer, lastrow As Long, a As Long, i As Long
  Dim xcell As String
     a = 1
     lastrow = Worksheets("Sheet2").UsedRange.Rows.Count + 1
        For i = a To lastrow
          xcell = Worksheets("Sheet2").Range("A" & i).Value
            Do Until Len(xcell) = 5
             If Len(xcell) <> 5 Then
          Worksheets("Sheet2").Range("C" & i) = Replace(xcell, " ", "_")
             Else
              Exit Do
             End If
            Loop
         Next i
End Sub
like image 965
lisa_rao007 Avatar asked Dec 20 '25 23:12

lisa_rao007


1 Answers

try this

Sub test()
    Dim lastrow&, i&, xcell$, z%
    lastrow = Sheet2.Cells(Rows.Count, "A").End(xlUp).Row
    For i = 1 To lastrow
        xcell = Replace(Sheet2.Range("A" & i).Value, " ", "")
        If Len(xcell) < 5 And xcell <> "" Then
           z = 5 - Len(xcell)
           Sheet2.Cells(i, "C").Value = Left(xcell, Len(xcell) - 1) & _
                WorksheetFunction.Rept("-", z) & Right(xcell, 1)
        Else
           Sheet2.Cells(i, "C").Value = xcell
        End If
    Next i
End Sub

output

enter image description here

like image 169
Vasily Ivoyzha Avatar answered Dec 23 '25 16:12

Vasily Ivoyzha



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!