As I mentioned before, there are a few questions you'll need to answer before we can be much help to you:
1. "I need to generate third Excel sheet." Where? You're taking date from WB1 which seems to have just one sheet, WB2 which has at least 3 already and WB3 which I infer contains 12, given there is one for each month. Is this sheet in fact in a new, fourth workbook?
2. What happens the day you run this code again when the new sheet already exists? Do you want the old data overwritten, or added to?
3. You have copied in 4 columns of data (let's day to new columns A, B, C and D) of variable, but equal length and you are now copying in a long row below. Do you want it in the row immediately below the last data in the A:D range or should there be a gap?
4. So far, you are not conducting any operations with the data, simply pasting it in. Is your intention to go on to manipulate the result? If so, how?
5. Is there a reason you want to run this code as an active process rather than simply linking to the data in the other workbooks?