+ Reply to Thread
Results 1 to 2 of 2

border every other cell in range

Hybrid View

  1. #1
    cass calculator
    Guest

    border every other cell in range

    I'm trying to write a macro that will apply a bottom border to every
    other cell in a range. the macro only needs to work for horizontal
    ranges, and not for vertical ones.

    the closest i can get is the code below, but this only applys borders
    to cells in odd columns. i need it to apply borders to every other
    cell in a selection, regardless if it is even or odd.

    Sub BotBorderOdd()
    For Each cell In Selection
    If Application.WorksheetFunction.Odd(cell.Column) = cell.Column
    Then
    oRange = oRange & "," & cell.Address
    End If
    Next cell
    oRange = Mid(oRange, 2, Len(oRange) - 1)
    Range(oRange).Select
    With Selection.Borders(xlEdgeBottom)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = xlAutomatic
    End With
    End Sub

    Thanks for your help everyone!


  2. #2
    Tom Ogilvy
    Guest

    RE: border every other cell in range


    If you want the second cell in the selection underlined and every 2nd cell
    after
    Sub BotBorderOdd()
    Dim lFlag As Long
    lFlag = Selection(1).Column Mod 2
    For Each cell In Selection
    If cell.Column Mod 2 <> lFlag Then
    oRange = oRange & "," & cell.Address

    With cell.Borders(xlEdgeBottom)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = xlAutomatic
    End With
    End If
    Next
    End Sub

    if you want to start with the first cell, change <> to = in the IF statement

    --
    Regards,
    Tom Ogilvy

    "cass calculator" wrote:

    > I'm trying to write a macro that will apply a bottom border to every
    > other cell in a range. the macro only needs to work for horizontal
    > ranges, and not for vertical ones.
    >
    > the closest i can get is the code below, but this only applys borders
    > to cells in odd columns. i need it to apply borders to every other
    > cell in a selection, regardless if it is even or odd.
    >
    > Sub BotBorderOdd()
    > For Each cell In Selection
    > If Application.WorksheetFunction.Odd(cell.Column) = cell.Column
    > Then
    > oRange = oRange & "," & cell.Address
    > End If
    > Next cell
    > oRange = Mid(oRange, 2, Len(oRange) - 1)
    > Range(oRange).Select
    > With Selection.Borders(xlEdgeBottom)
    > .LineStyle = xlContinuous
    > .Weight = xlThin
    > .ColorIndex = xlAutomatic
    > End With
    > End Sub
    >
    > Thanks for your help everyone!
    >
    >


+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1