database - Generating a secondary reference from a userform to be generated in only 1 sheet when data is going to multiple sheets -


hi hoping please.

i have dilemma. have code here works simple data entry. pop information userform , click button information gets sent mastersheet (ws1), 1 or 2 of other 3 sheets may need depending on specific qualifying aspects.

the issue have here mastersheet has reference next number in sequence. should data entered qualify ws2 wanting generate reference number again next number in sequence (within sheet only).

below code generating number bring number should shown on ws2 across sheets data present on. able assist?

thanks,

function getnextid(ws worksheet, col variant) long     getnextid = worksheetfunction.max(ws.columns(col)) + 1 end function  private sub dataentry () dim mrow long dim ws1 worksheet dim ws2 worksheet dim ws3 worksheet dim ws4 worksheet dim nextnum long dim xnum long    set ws1 = worksheets("masterdata") set ws2 = worksheets("x") set ws3 = worksheets("a") set ws4 = worksheets("c")  nextnum = getnextid(sheets("masterdata"), "a") xnum = getnextid(sheets("x"), "ac")  dim targetworksheets variant '16 qualifying scenarios determine data sent  select case true case combopd.value = "y" , combonp.value = "y" , txtcval.value >= 50 , datevalue(me.txtrd.value) - datevalue(me.txtdd.value) <= 1: targetworksheets = array(ws1, ws2, ws3) case combopd.value = "y" , combonp.value = "y" , txtcval.value >= 50 , datevalue(me.txtrd.value) - datevalue(me.txtdd.value) > 1: targetworksheets = array(ws1, ws2, ws3) case combopd.value = "y" , combonp.value = "y" , txtclaimval.value < 50 , datevalue(me.txtrd.value) - datevalue(me.txtdd.value) <= 1: targetworksheets = array(ws1, ws3) case combopd.value = "y" , combonp.value = "y" , txtcval.value < 50 , datevalue(me.txtrd.value) - datevalue(me.txtdd.value) > 1: targetworksheets = array(ws1, ws4) case combopd.value = "y" , combonp.value = "n" , txtcval.value >= 50 , datevalue(me.td.value) - datevalue(me.txtdd.value) <= 3: targetworksheets = array(ws1, ws2, ws3) case combopd.value = "y" , combonp.value = "n" , txtcval.value >= 50 , datevalue(me.td.value) - datevalue(me.txtdd.value) > 3: targetworksheets = array(ws1, ws2, ws4) case combopd.value = "y" , combonp.value = "n" , txtcval.value < 50 , datevalue(me.txtrd.value) - datevalue(me.txtdd.value) <= 3: targetworksheets = array(ws1, ws3) case combopd.value = "y" , combonp.value = "n" , txtcval.value < 50 , datevalue(me.td.value) - datevalue(me.txtdd.value) > 3: targetworksheets = array(ws1, ws4) case combopd.value = "n" , combonp.value = "y" , txtcval.value >= 50 , datevalue(me.txtrd.value) - datevalue(me.txtdd.value) <= 1: targetworksheets = array(ws1, ws3) case combopd.value = "n" , combonp.value = "y" , txtcval.value >= 50 , datevalue(me.txtrd.value) - datevalue(me.txtdd.value) > 1: targetworksheets = array(ws1, ws4) case combopd.value = "n" , combonp.value = "y" , txtcval.value < 50 , datevalue(me.txtrd.value) - datevalue(me.txtdd.value) <= 1: targetworksheets = array(ws1, ws3) case combopd.value = "n" , combonp.value = "y" , txtcval.value < 50 , datevalue(me.txtrd.value) - datevalue(me.txtdd.value) > 1: targetworksheets = array(ws1, ws4) case combopd.value = "n" , combonp.value = "n" , txtcval.value >= 50 , datevalue(me.txtrd.value) - datevalue(me.txtdd.value) <= 3: targetworksheets = array(ws1, ws3) case combopd.value = "n" , combonp.value = "n" , txtcval.value >= 50 , datevalue(me.txtrd.value) - datevalue(me.txtdd.value) > 3: targetworksheets = array(ws1, ws4) case combopd.value = "n" , combonp.value = "n" , txtcval.value < 50 , datevalue(me.txtrd.value) - datevalue(me.txtdd.value) <= 3: targetworksheets = array(ws1, ws3) case combopd.value = "n" , combonp.value = "n" , txtcval.value < 50 , datevalue(me.txtrd.value) - datevalue(me.txtdd.value) > 1: targetworksheets = array(ws1, ws4)  case else: targetworksheets = array(ws1) end select  each ws in targetworksheets  'find first empty row in worksheets mrow = ws.cells.find(what:="*", searchorder:=xlrows, _ searchdirection:=xlprevious, lookin:=xlvalues).row + 1  'copy userform info data qualifying database sheets ws.cells(mrow, 1).value = nextnum ws.cells(mrow, 2).value = format(date, "dd/mm/yyyy") ws.cells(mrow, 3).value = format(time, "hh:mm:ss") ws.cells(mrow, 4).value = cint(format(date, "ww")) ws.cells(mrow, 5).value = format(date, "mmm-yy") ws.cells(mrow, 6).value = cint(format(date, "yyyy")) ws.cells(mrow, 7).value = 1 ws.cells(mrow, 8).value = txtwt.value * (1300 / 1000) ws.cells(mrow, 9).value = application.worksheetfunction.vlookup(combobd.value, sheets("lookup vals").range("g:h"), 2, false) ws.cells(mrow, 10).value = application.username                 if combobd.value = "mn" ws.cells(mrow, 11).value = application.worksheetfunction.vlookup(combocompany.value, sheets("lookup vals").range("l:n"), 2, false) else                    if combobd.value = "pur" ws.cells(mrow, 11).value = application.worksheetfunction.vlookup(combocompany.value, sheets("lookup vals").range("p:r"), 2, false) else                        if combobd.value = "vog" ws.cells(mrow, 11).value = application.worksheetfunction.vlookup(combocom.value, sheets("lookup vals").range("p:r"), 2, false) ws.cells(mrow, 12).value = format(me.txtrd.value, "dd/mm/yyyy") ws.cells(mrow, 13).value = combopd.value ws.cells(mrow, 14).value = combonp.value ws.cells(mrow, 15).value = combobd.value ws.cells(mrow, 16).value = combocom.value ws.cells(mrow, 17).value = txtadditional.value ws.cells(mrow, 18).value = format(me.txtdd.value, "dd/mm/yyyy") ws.cells(mrow, 19).value = txtbn.value ws.cells(mrow, 20).value = txtfs.value ws.cells(mrow, 21).value = combopr.value ws.cells(mrow, 22).value = combois.value ws.cells(mrow, 23).value = txtun.value ws.cells(mrow, 24).value = txtwt.value ws.cells(mrow, 25).value = txtin.value ws.cells(mrow, 26).value = txtdt.value ws.cells(mrow, 27).value = txtshp.value ws.cells(mrow, 29).value = xnum  next ws  end sub 

i used second select case @ end

    ws.cells(mrow, 28).value = datevalue(me.txtrecdate.value) - datevalue(me.txtdod.value)  select case true          case combopd.value = "y" , combonp.value = "y" , txtcval.value >= 50 , datevalue(me.txtrd.value) - datevalue(me.txtdd.value) <= 1: ws.cells(mrow, 29).value = xnum         case combopd.value = "y" , combonp.value = "y" , txtcval.value >= 50 , datevalue(me.txtrd.value) - datevalue(me.txtdd.value) > 1: ws.cells(mrow, 29).value = xnum         case combopd.value = "y" , combonp.value = "n" , txtcval.value >= 50 , datevalue(me.txtrd.value) - datevalue(me.txtdd.value) <= 3: ws.cells(mrow, 29).value = xnum         case combopd.value = "y" , combonp.value = "n" , txtcval.value >= 50 , datevalue(me.txtrd.value) - datevalue(me.txtdd.value) > 3: ws.cells(mrow, 29).value = xnum  end select 

Comments

Popular posts from this blog

What is happening when Matlab is starting a "parallel pool"? -

angular - DownloadURL return null in below code -

php - Cannot override Laravel Spark authentication with own implementation -