I worked on the troublesome line a little more:

It is still incorrect, but my best attempt.

If Range("DATA!J" & i).Value = ""
Then Range("DATA!J" & i).Value = cells([Int((Range(.Range("Fill!A2:Fill!A65535").End(xlUp)).Count) * Rnd) + 1], [Fill!A]).Value

I'm still coming up with errors. i'm trying to use an absolute reference with a random variable...[row, column] where "row" is found by generating a random number that lies between the number of rows within column, and "column" is fixed as "A". I'm sure this will work but I can't get the syntax correct

If it helps, I need this to work in order to autofill a large database, where occasionally the user does not specify certain parameters and I will therefore give him a randomly assigned one from a list I have made.

I'm using this function to create an open-source email parser which inputs data into excel and exports to a processing application. Thanks for your help guys!