Copy data into blank cells

  • Thread starter Thread starter drinese18
  • Start date Start date
D

drinese18

I'm trying to create a macro that will check to see which cells are blank
within the worksheet and copy data from another worksheet into the blank
cells. The tricky part is that the sheet already has data on it and I don't
want it to be sorted or anything of such, I just want the macro to take data
from one cell on a sheet and places it into another cell on another sheet
without affecting the data that is already on the sheet, if anyone can help
me with this that would be great

Thank you
 
Hi
in general
Set FromSheet = Worksheets("DataFromHere")
Set ToSheet = Worksheets("DataToHere")

If Trim(ToSheet.Range("B1"))="" then
ToSheet.Range("B1").Value = FromSheet.Range("B1").Value
End if

This will copy data from B1 on the FromSheet to B1 on the ToSheet (if
it is originally blank).
You probably need more than this?
regards
Paul
 
It worked in some ways but it didn't basically search for the blank cells, if
I want it to search for the blank cells within the primary worksheet and
compare it to the secondary worksheet, then if there is data in a similiar
cell as the primary worksheet copy that, how do I go about that, should be If
cells = Null? or something of that sort?
 
Suspected you wanted something more:
How about

Dim FromArray as Variant
Dim ToRange as Range
FromArray = Worksheets("DataFromHere").Range("A1:C6") .Value
Set ToRange = Worksheets("DataToHere").Range("A1:C6")

FromRows = UBound(FromArray,1)
FromColumns = UBound(FromArray, 2)

With ToRange
For i = 1 to FromRows
For j = 1 to FromColumns
If Trim(.Cells(i,j).Value)="" then
.Cells(i,j).Value = FromArray(i,,j)
End if
Next j
Next i
End With

regards
Paul
 
It works better but it still doesn't check for the blank cell within the
Range A1:C6, after it has checked the range to see if its blank it should
basically copy data from the same cell in the secondary worksheet into the
blank cell in the primary worksheet
 
Hi
That check is exactly what the line
If Trim(.Cells(i,j).Value)="" then

does. No? Did you leave out the dot in front of Cells maybe??
regards
Paul
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top