Geoff, (reply to strongm later in post)
Don't worry - I wasn't feeling attacked in any way. I really enjoy being challenged, especially regarding this encryption technique. Nobody's shot it down yet, but I want to be the first to know if someone finds a way!

Having said that, I do want to reply to two comments you made (if you haven't tired of the discussion yet!):
"Basically, it'll probably take a cracker apprx the same amount of time to crack a file as you spend protecting it.... ". My routine takes about three seconds to encrypt a range containing 13000 cells (A1:Z500, which is my routine's default) with a 40-character key. Brute-forcing a 40-character key (where each character is one of over a hundred possible values), with the additional constraint of having to close/reopen the file after every attempt, could take weeks on a really high-powered computer, much longer on a PC. . .
"at the end of the day, it still relies on a password and that password must reside in the file" - but it doesn't, which is precisely the beauty of this approach! It simply uses the key phrase (or more correctly, the ASCII values of it's characters) as the "wildcard" in an algorythm that scrambles the data. The only thing stored in the file is the "residue", if you will, of the interaction between the original data and the key phrase. The key phrase isn't stored in the file anywhere. It's supplied by the user at the time of encryption, and again at the time of decryption by whoever is opening it. If you're sending the file to someone it's up to you to work out/communicate what the key phrase will be. Which leads to my comment for strongm:
strongm,
I can't remember what it's called, but it's a technique I read about some time back. The sender and the reciever would both have identical copies of a book (preferrably with at least 365 pages). To encrypt a message, sender goes to correct page of book for that day (i.e. if it's Feb 1, he goes to page 32) and counts to a predetermined word (ex. they might always use a combination of the 5th, 8th, and 9th words on the page) as his key phrase. Then he converts the key phrase to numbers (so "abc" becomes "123") and his message to numbers (assume spaces are zeros, so "Hi dad" becomes "890414"). Then he uses the key numbers ("looping" them as necessary) to modify the message numbers: 8+1=9, 9+2=11, 0+3=3, 4+1=5, 1+2=3, and 4+3=7. Finally, he converts the numbers back to characters: 9=i, 11=k, 3=c, 5=e, 3=c, and 7=g. So applying the key phrase "abc" to our original text "Hi dad" gives us the encrypted "ikcecg". Notice how identical characters get encrypted differently, and different characters can be represented by the same encrypted character! Decryption just reverses the process, taking the correct key from the book based on the date of the message, and subtracting the appropriate values. Using the wrong key just further munches the data.
Of course, being computer-driven, I can afford to make my method is a bit more complex (for example, adding in random "padding" characters every 4 characters to make it even harder to decode if they haven't obtained my algorythm, or making it case-sensitive to double the number of possible characters a key character could be).
Why not just use a commercial file-encryption application? Well, I wanted to see if I could program something myself, and this method has the added advantage of requiring nothing more than Excel (and my add-in) on the computers of the sender and receiver.
I think this might be the longest post I've ever done
![[lol] [lol] [lol]](/data/assets/smilies/lol.gif)
Sorry for being long-winded!
VBAjedi
![[swords] [swords] [swords]](/data/assets/smilies/swords.gif)