Ron S,
As with most things a picture is worth a 1000 words.
The link below shows how to provide a sample of your worksheet with instructions (see Posts #2 and #3).
Thanks to Peter_SSs, Jon von der Heyden , and Rory et al for their efforts.
https://www.mrexcel.com/forum/about-board/508133-attachments.html#post2545970
Both MrExcel HTML Maker and Excel jeanie are free downloads...I have used both.
I have not tried the Forum Tools Add-In or Borders-Copy-Paste.
Having said that...another approach to your particular situation might be to put 'Bank', 'Income', and 'Expense' each on a separate worksheet, then run the code I provided on each worksheet separately, and then combine (copy and paste) the results onto a 'Summary' sheet.
I have modified the earlier macro (see the red font changes) so you can run it on each worksheet individually, and then after you run the macro on each sheet, manually copy and paste the used range of each sheet onto the 'Summary' sheet.
You could use the macro recorder in the 'Developer' tab to record each step in the copy and paste process. Then we could tweak it to make it more 'dynamic' and allow for additional rows in each sheet. This is just one approach, not necessarily the best, but it may work well in this case and give you some macro experience.
I hope this is helpful.
Perpa
Code:
Sub SortMyList()
'The following code alphbetically sorts on Column D
'New data can be added to the bottom of the list and will be sorted creating a'dynamic List')
Dim LastARow As Integer 'I used column A to find the last row, change to suit and refelct change below
[COLOR=#ff0000]Dim ws as string[/COLOR]
LastARow = Range("A18").End(xlDown).Row ' change to suit
[COLOR=#ff0000]ws = Activesheet.name[/COLOR]
With Application 'This WITH statement keeps the screen from changing until sorting is done
.ScreenUpdating = False
.EnableEvents = False
End With
'The following sorts based on column D values in 'Ascending' order A to Z. Change 'Ascending' to 'Decending' if desired
Range("A18:AR" & LastARow).Select 'This selects the Range to be sorted in the helper column and the original column
ActiveWorkbook.Worksheets([COLOR=#ff0000]ws[/COLOR]).Sort.SortFields.Clear
ActiveWorkbook.Worksheets([COLOR=#ff0000]ws[/COLOR]).Sort.SortFields.Add Key:=Range("D18:D" & LastARow) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets([COLOR=#ff0000]ws[/COLOR]).Sort 'Change this to suit if your list is not on Sheet1
.SetRange Range("A18:AR" & LastARow)
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("D18").Select 'I chose a cell at the top of the sorted range to end on, change to suit
With Application 'With sorting done let the screen changes be shown
.ScreenUpdating = True
.EnableEvents = True
End With
End Sub