Using Excel For Note Taking

miketurn

Active Member
Joined
Dec 8, 2016
Messages
268
I find myself using Excel more and more to take notes with, typically most will use Word for this purpose but I feel that Excel offers many benefits that Word does not. However, Excel unfortunately has some key limitations as well which is why I am here.

The main limitation I am dealing with is the issue of text wrapping.
I would like the ability to keep all rows at the same height, I find that applying the "wrap text" option creates a ton of different row heights and it becomes too confusing visually for me. When using Excel for note taking it is also nice to have each row of text be its own entity where you can add new rows in between, delete entire rows, etc. When text is wrapped that convenience is lost in my opinion.

What I currently am doing is setting a relatively average column width that stays the same, and when I get to the end of that column width with text I have to hit enter to go to the next row.
For obvious reasons this becomes increasingly annoying to deal with, and also if you want to change the column width in the future this method will cause problems.

What I ideally would like is a built in setting that uses the column width vertical line in a "wrap to ruler" or "wrap to window" kind of a setting found in Word. Where when the text goes over the column width it automatically puts you into the next row, but this does not exist.

On a few other threads I have tried to come up with some ideas for some macro tools to request, and many users have been extremely helpful, but I was wondering if anyone has any ideas of how something like this may be achieved in Excel, I don't think such a setting exists within the program itself.

I have tried the approach of typing in Word and then pasting into Excel but it is rather inconvenient and with 256 character limitation of each cell, it becomes tricky to not lose notes without knowing it, as well as I lose a lot of the conveniences of using Excel.

I am also in the process of looking into software designed specifically for note taking, but I am afraid I have gone too far with Excel to turn back now.

(I have more I can explain, but I don't want this post to get too lengthy.)

If anyone has any ideas, please let me know.
Thank You
 
I came across two more (hopefully quick) questions if anyone has some time to take a look at them.
(All based on Column A)

@Anyone
1.) The macros found in post #15 and at the bottom of post #35 of this thread, both use .EntireRow.Insert to insert new rows. The new rows added copy all the formatting of the original selected cell which is great, the only thing I was wondering if it could be elimated is the format option "wrap text".
If the selected cell you are typing in has this setting enabled, then all the newly added rows will have this setting checked on as well, does anyone know the coding that can be added to just keep the "wrap text" setting on in the originally selected cell but not get carried over into each newly added row?

@Anyone / @tonyyy if you are still available / interested
2.) I tried to make a custom button that combines the macro found in post #28 and the macro found at bottom of post #35.
(Not really important, because I could always just use two separate tools)

I could not get this to work and I think it is because the "manual version" macro (post #35) is designed to work only on a single selected cell, so when the multiple rows are are selected to combine the text within them back together into one single cell, after they are combined the selection itself ends up remaining selecting more then one cell, preventing the manual text wrapping macro to run again.

I can think of two solutions for this, I would prefer both of them for use/learning purposes, but either is fine.

@Anyone
2A.) Enter coding into the macro found in post #28 that once the macro is run and the text is combined to adjust the selection to just the single cell at the top. (I will also try posting this question here https://www.mrexcel.com/forum/excel...ows-into-one-row-put-spaces-between-data.html where this macro was created)

@tonyyy
(Probably not possible to achieve this, the way the macro is designed to function)
2B.) Currently the macro found in post #35 is created to run only on a single selected cell, would it be possible for this macro to also be able to run on multiple selected cells as well?

Thank You to whoever reads this and takes a shot at either of these questions.
 
Last edited:
Upvote 0

Excel Facts

Format cells as time
Select range and press Ctrl+Shift+2 to format cells as time. (Shift 2 is the @ sign).
I actually was able to answer question 2A.), I forgot I used this line of code in an actual successfully created macro I wrote in the past.
It also works in combination with macro from post #35 which now can be run with one button.

Code:
Sub CombineSelection()
  With Selection
    If .Count > 1 Then
      .Cells(1) = Join(Application.Transpose(.Value), " ")
      .Offset(1).Resize(.Rows.Count - 1).ClearContents
    End If
    Selection.Resize(1).Select
  End With
End Sub


2B.) I still debate if this is possible to run this macro on multiple select cells, but would be interesting to see if it can.

Also still interested in my question 1.) above if anyone has any ideas, I may have to make a separate post for this.
 
Last edited:
Upvote 0
1.) The macros found in post #15 and at the bottom of post #35 of this thread, both use .EntireRow.Insert to insert new rows. The new rows added copy all the formatting of the original selected cell which is great, the only thing I was wondering if it could be elimated is the format option "wrap text".
If the selected cell you are typing in has this setting enabled, then all the newly added rows will have this setting checked on as well, does anyone know the coding that can be added to just keep the "wrap text" setting on in the originally selected cell but not get carried over into each newly added row?

Add the lines in red...

Code:
i = ActiveCell.Row
StartPosition = 1
txtLength = Len(Cells(i, ActiveCell.Column).Value)
If txtLength > ColumnWidth Then
    [COLOR=#ff0000]ActiveCell.WrapText = False[/COLOR]
    Rows(i).Copy
    Rows(i).Resize(Round((txtLength / ColumnWidth) + fudgeFactor, 0), 1).EntireRow.Insert
    [COLOR=#ff0000]ActiveCell.WrapText = True[/COLOR]
    Application.CutCopyMode = False
    For j = 0 To Round((txtLength / ColumnWidth) + fudgeFactor, 0)
 
Upvote 0
Absolutely perfect, d a m n you're good!
I had tried messing around with placing .WrapText coding in some places to see if I could get it to work myself, but would have never come up with this. :)
Thank You again for your continued help.
 
Last edited:
Upvote 0

Forum statistics

Threads
1,215,080
Messages
6,123,013
Members
449,093
Latest member
ikke

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top