[COLOR=blue]Option[/COLOR] [COLOR=blue]Explicit[/COLOR]
[COLOR=#0000ff][/COLOR]
[COLOR=blue]Public[/COLOR] [COLOR=blue]Enum[/COLOR] posBorder
posLeft
posRight
posTop
posBottom
[COLOR=blue]End[/COLOR] [COLOR=blue]Enum[/COLOR]
[COLOR=#0000ff][/COLOR]
[COLOR=blue]Public[/COLOR] [COLOR=blue]Function[/COLOR] BorderInfo([COLOR=blue]ByVal[/COLOR] rngCell [COLOR=blue]As[/COLOR] Range, [COLOR=blue]ByVal[/COLOR] pos [COLOR=blue]As[/COLOR] posBorder) [COLOR=blue]As[/COLOR] [COLOR=blue]Boolean[/COLOR]
[COLOR=#0000ff][/COLOR]
[COLOR=blue]Dim[/COLOR] lngCalc [COLOR=blue]As[/COLOR] [COLOR=blue]Long[/COLOR]
[COLOR=blue]With[/COLOR] Application
.ScreenUpdating = [COLOR=blue]False[/COLOR]
.EnableEvents = [COLOR=blue]False[/COLOR]
lngCalc = .Calculation
.Calculation = xlManual
[COLOR=blue]End[/COLOR] [COLOR=blue]With[/COLOR]
[COLOR=#0000ff][/COLOR]
[COLOR=blue]On[/COLOR] [COLOR=blue]Error[/COLOR] [COLOR=blue]GoTo[/COLOR] Finally
[COLOR=blue]If[/COLOR] rngCell.Count > 1 [COLOR=blue]Then[/COLOR] [COLOR=blue]GoTo[/COLOR] Finally
[COLOR=blue]If[/COLOR] rngCell.Column = Columns.Count [COLOR=blue]Then[/COLOR] [COLOR=blue]GoTo[/COLOR] Finally
[COLOR=blue]If[/COLOR] rngCell.Row = Rows.Count [COLOR=blue]Then[/COLOR] [COLOR=blue]GoTo[/COLOR] Finally
[COLOR=blue]With[/COLOR] rngCell
[COLOR=blue]If[/COLOR] pos = posLeft [COLOR=blue]Then[/COLOR]
.EntireColumn.Insert
BorderInfo = .Borders(xlEdgeLeft).LineStyle <> xlNone
.Offset(, -1).EntireColumn.Delete
[COLOR=blue]ElseIf[/COLOR] pos = posRight [COLOR=blue]Then[/COLOR]
.Offset(, 1).EntireColumn.Insert
BorderInfo = .Borders(xlEdgeRight).LineStyle <> xlNone
.Offset(0, 1).EntireColumn.Delete
[COLOR=blue]ElseIf[/COLOR] pos = posTop [COLOR=blue]Then[/COLOR]
.EntireRow.Insert
BorderInfo = .Borders(xlEdgeTop).LineStyle <> xlNone
.Offset(-1).EntireRow.Delete
[COLOR=blue]ElseIf[/COLOR] pos = posBottom [COLOR=blue]Then[/COLOR]
.Offset(1).EntireRow.Insert
BorderInfo = .Borders(xlEdgeBottom).LineStyle <> xlNone
.Offset(1).EntireRow.Delete
[COLOR=blue]End[/COLOR] [COLOR=blue]If[/COLOR]
[COLOR=blue]End[/COLOR] [COLOR=blue]With[/COLOR]
Finally:
[COLOR=blue]With[/COLOR] Application
.ScreenUpdating = [COLOR=blue]True[/COLOR]
.Calculation = lngCalc
.EnableEvents = [COLOR=blue]True[/COLOR]
[COLOR=blue]End[/COLOR] [COLOR=blue]With[/COLOR]
[COLOR=blue][/COLOR]
[COLOR=blue]End[/COLOR] [COLOR=blue]Function[/COLOR]
[COLOR=blue]Sub[/COLOR] testIT()
[COLOR=blue]Debug.Print[/COLOR] "Left:= "; BorderInfo(ActiveCell, posLeft)
[COLOR=blue]Debug.Print[/COLOR] "Right:= "; BorderInfo(ActiveCell, posRight)
[COLOR=blue]Debug.Print[/COLOR] "Top:= "; BorderInfo(ActiveCell, posTop)
[COLOR=blue]Debug.Print[/COLOR] "Bottom:= "; BorderInfo(ActiveCell, posBottom)
[COLOR=blue]End[/COLOR] [COLOR=blue]Sub[/COLOR]