excel - How to assign value from a named range in one worksheet to a cell in the active worksheet? -
i trying archive data formatted worksheet called bod_labsheet 1 called data. have done similar using userforms encountering problems here.
when run macro, error "method 'range' of object _worksheet failed" on line
dataworksheet.cells(emptyrow, 2) = bodworksheet.range("bod_lab_date").value
the data worksheet active when copying.
should copy values bod_labsheet array, activate data worksheet , recopy values?
here complete code:
sub submit_bod() ' ' submit_bod macro ' dim dataworksheet worksheet, bodworksheet worksheet, suspendedsolidsworksheet worksheet dim datasheetname string dim bodsheetname string dim suspendedsolidsname string datasheetname = "data" bodsheetname = "bod_labsheet" suspendedsolidsname = "suspended_solids_labsheet" set dataworksheet = activeworkbook.sheets(datasheetname) set bodworksheet = activeworkbook.sheets(bodsheetname) set suspendedsolidsworksheet = activeworkbook.sheets(suspendedsolidsname) dim myranges() variant myranges = array("bod_collected_by", "bod_temp_out", "bod_temp_in", "bod_source", "bod_sample_vol_4", _ "bod_dilution_1", "bod_blank_ido_4", "bod_blank_fdo_4", "bod_sample_vol_7", "bod_dilution_2", _ "bod_blank_ido_7", "bod_blank_fdo_7", "bod_seed_ido_13", "bod_seed_fdo_13", "bod_seed_ido_14", _ "bod_seed_fdo_14", "bod_influent_ido_15", "bod_influent_fdo_15", "bod_influent_ido_16", _ "bod_influent_fdo_16", "bod_effluent_ido_20", "bod_effluent_fdo_20", "bod_effluent_ido_21", "bod_effluent_fdo_21", _ "in_bod_concentration", "out_bod_concentration") 'make data sheet active dataworksheet.activate dim mydate date mydate = datevalue(bodworksheet.range("bod_lab_date").value) dim yearasstring string, monthasstring string, dayasstring string yearasstring = format(mydate, "yyyy") monthasstring = format(mydate, "mm") dayasstring = format(mydate, "dd") dim reportnumbertext string reportnumbertext = "np" & yearasstring & monthasstring & dayasstring debug.print "reportnumbertext = "; reportnumbertext 'determine emptyrow dim emptyrow integer emptyrow = worksheetfunction.counta(range("a:a")) + 1 'transfer information 'sample number dataworksheet.cells(emptyrow, 1).value = reportnumbertext 'date , time collected dataworksheet.cells(emptyrow, 2) = bodworksheet.range("bod_lab_date").value dataworksheet.cells(emptyrow, 3) = format(bodworksheet.range("bod_collection_date").value, "dd-mmm-yyyy") dataworksheet.cells(emptyrow, 4) = format(bodworksheet.range("bod_read_on_date").value, "dd-mmm-yyyy") dim integer, j integer = lbound(myranges) ubound(myranges) j = + 4 dataworksheet.cells(emptyrow, j) = bodworksheet.range(myranges(i)).value debug.print "dataworksheet.cells(" & emptyrow & "," & j & ") " & dataworksheet.cells(emptyrow, j).value next activeworkbook.save suspendedsolidsworksheet.activate range("ss_date").select end sub
is "bod_lab_date" more 1 cell? maybe method works also, copy range of cells reversing order , using copy, so:
bodworksheet.range("bod_lab_date").copy dataworksheet.cells(emptyrow, 2)
Comments
Post a Comment