Home |
Search |
Today's Posts |
#15
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Thanks, Tom. We got the first one for just the Day1 entry. The this
question was posed: question: how would I make this work if there was a sentence containing the word "Day1" in that cell so that I could extract the whole sentence to the other workbook. It seemed to me that the Like operator with wildcards would work, and it did return the sentence "This is Day1 of many" for me in a test, but the OP said they didn't get the desired result. Since there was no further explanation, I give up. "Tom Ogilvy" wrote: If you only want to return Day1 Within your conditional code: If Workbooks(2).Sheets(1).Range("$G" & counter) Like "*Day1*" Then then instead of doing Activesheet.Paste just do ActiveCell.Value = "Day1" Again, assuming only returning the value "Day1" the whole thing could probably be done with countif to count the number of cells in the source range containing Day1, then use special cells in the destination to get the blank cells and fill the subset of those cells for the count returned by countif with Day1 But I doubt the OP just wants Day1. -- Regards, Tom Ogilvy "JLGWhiz" wrote in message ... Using the operator "Like" instead of "=" gave me a return of the entire sentence. If you only wanted to return "Day1" out of the sentence, it would probably have to be some kind of a Len(Trim( ) combination and I a not that adept with those functions. " wrote: Thanks again JLG, Thank you for all your help. I had already tried doing"*Day1*" before, but it didnt work as expected. On Jan 28, 6:44 pm, JLGWhiz wrote: However, If you use this line: If Workbooks(2).Sheets(1).Range("$G" & counter) Like "*Day1*" Then Instead of this one: If Workbooks(2).Sheets(1).Range("$G" & counter) = "Day1" Then It might do what you are asking. " wrote: Hi JLG, this last code works great! Thank you so much for your help. One question: how would I make this work if there was a sentence containing the word "Day1" in that cell so that I could extract the whole sentence to the other workbook. Thank you again! You have been of great help. On Jan 28, 2:01 pm, JLGWhiz wrote: See if this version is more suitable to your needs: Sub EmpRwCpy() Set aRng = Workbooks(1).Worksheets(1).Range("$A$7:$A$10") counter = 10 For Each c In aRng If c = "" Then xRng = c.Address If Workbooks(2).Sheets(1).Range("$G" & counter) = "Day1" Then Workbooks(2).Sheets(1).Range("$G" & counter).Copy Range("$A$7").Activate If ActiveCell = "" Then ActiveSheet.Paste Else Do Until ActiveCell = "" Or counter = 14 ActiveCell.Offset(1, 0).Activate Loop ActiveSheet.Paste End If End If counter = counter + 1 End If Next End Sub " wrote: Hi JLG, The code is running this time without errors. But its not exactly the same thing it is suppossed to. It doesnt copy the information to the topmost empty table. Nevertheless the thing works without any errors... eg. if this is how the data is on wb2: G10 Day1 G11 Day2 G12 Day2 G13 Day1 it gets copied on wb1 as: A7 Day1 A8 (empty) A9 (empty) A10 Day1 On Jan 28, 9:07 am, JLGWhiz wrote: This eliminates the activation steps between the workbooks. See if it runs without throwing an error. Once again, you will need to change the Workbooks(1) and (2) and sheet number references to meet your workbook name requirements. Both workbooks must be open and the first one opened will be Workbooks(1) since the sytem assigns the index as the files are opened. Sub EmpRwCpy() Set aRng = Workbooks(1).Worksheets(1) _ .Range("$A$7:$A$10") counter = 10 For Each c In aRng If c = "" Then xRng = c.Address If Workbooks(2).Sheets(1) _ .Range("$G" & counter) = "Day1" Then Workbooks(2).Sheets(1) _ .Range("$G" & counter).Copy Workbooks(1).Sheets(1).Range(xRng) End If counter = counter + 1 End If Next End Sub " wrote: Hi JLGWhiz, for line: Range("$G" & counter).Activate It gives an error saying " Runtime 1004 : Activate method of Range class failed" Thank you for your help again. On Jan 27, 7:42 pm, JLGWhiz wrote: Try this: Sub RwEmptCpy() Set aRng = Workbooks(1).Worksheets(1).Range("$A$7:$A$10") counter = 10 For Each c In aRng If c = "" Then xRng = c.Address Workbooks(2).Sheets(1).Activate Range("$G" & counter).Activate If ActiveCell = "Day1" Then ActiveCell.Copy Workbooks(1).Sheets(1).Range(xRng) End If counter = counter + 1 Workbooks(1).Activate End If Next End Sub It assumes that you are using Sheet 1 in both workbooks. If not you will need to change the sheet references. " wrote: SORRY ABOUT THE ERROR, PLEASE SEE THIS QUESTION: I am looking for a formula function or a vba code whe - In workbook1 find the first cell that is empty between range A7 - A10, - In workbook2, in Range G10- G13: find the word "Day1". - If the word "Day1" exists in cells G10 or G11 or G12 or G13, copy the particular cell or cells where "Day1" exists to the first found empty cell or cells in range A7-A10 in workbook1. Lets suppose cells A8, A9, A10(workbook1) are empty cells, that means A8 is the first empty cell. And G10,G11,G12, G13 (workbook2) have the word "Day1" Then, Copy cell G10 into cell A8 Copy cell G11 into cell A9 Copy cell G12 into cell A10 Please let me know if this explanation is confusing.... and I can try explaining again. Appreciate all help! On Jan 27, 6:34 pm, wrote: I am looking for a formula function or a vba code whe - In workbook1 find the first cell that is empty between range A7 - A10, - In workbook2, in Range G10- G13: find the word "Day1". - If the word "Day1" exists in cells G10 or G11 or G12 or G13, copy the particular cell or cells where "Day1" exists to the first found empty cell or cells in range A7-A10 in workbook1. Lets suppose cells A8, A9, A10(workbook1) are empty cells, that means A8 is the first empty cell. And G10,G11,G12, G13 (workbook2) have the word "Day1" Then, Copy cell G10 into cell A8 Copy cell G13 into cell A9 Copy cell G14 into cell A10 Please let me know if this explanation is confusing.... and I can try explaining again. Appreciate all help!- Hide quoted text -- Show quoted text -- Hide quoted text -- Show quoted text -- Hide quoted text -- Show quoted text -- Hide quoted text -- Show quoted text - |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
How do i find last not empty cell in a range | Excel Worksheet Functions | |||
Copy Values to next empty cell range | Excel Worksheet Functions | |||
Copy to next empty cell in another workbook | Excel Programming | |||
Macro to find empty cell and select range to print selected. | Excel Programming | |||
find changes in a cell range, copy changes to another workbook | Excel Programming |