I have some dropdown menus in my sheet. When a selection is made in one of them, I want a number of new rows to be inserted in the sheet. Specifically, I want to be able to add the row(s) either above or below a specific existing row that I specify by the text present in column C. I then want the inserted row to populate text of my choosing in column C. Lastly, I want any inserted row(s) to continue the formula pattern I have in columns B and D.
Example spreadsheet here: https://docs.google.com/spreadsheets/d/1tIYnuJU1t3tl0kk4nTqNB7zj4ndXM6R2PpujDao8Uwc/edit#gid=0
For Example: If the "tiger" option in Menu 1 is selected, insert three rows after the "First step" Process Step Description, and name their Process Step Descriptions "has stripes", "is orange and black". and "has sharp teeth".
I still have so much trouble writing these scripts... I know how to insert a row now and do simple things like "getActiveSpreadsheet" but I get confused by much more. I get started and end up with something convoluted that doesn't work.
Below is my best attempt. I know it doesn't make much sense as it is a mish-mash of a few different scripts I've had help completing for other tasks. I've put some placeholders in square brackets for the reference I want to make but don't know how.
function DynamicFlowchart(range, sourceRange){
var rule = SpreadsheetApp.requireValueInRange(sourceRange, true).build();
range.setValue(rule);
function onEdit (){
var aCell = SpreadsheetApp.getActiveSheet().getActiveCell();
var aColumn = aCell.getColumn();
var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var range = SpreadsheetApp.getActiveSheet().getRange(aCell.getRow(), aColumn + 1);
var sourceRange = SpreadsheetApp.getActiveSpreadsheet().getRangeByName(aCell.getValue());
if(aCell=="tiger"){
ss.insertRowAfter([the process step description that says "first step"]);
ss.getRange(ss.getActiveRange().getRowIndex(), 3).setValue("has stripes");
ss.insertRowAfter([the process step description that says "has stripes"]);
ss.getRange(ss.getActiveRange().getRowIndex(), 3).setValue("is orange and black");
ss.insertRowAfter([the process step description that says "is orange and black"]);
ss.getRange(ss.getActiveRange().getRowIndex(), 3).setValue("has sharp teeth");
}
}
}
Any help is appreciated.
Thanks in advance.

If the "tiger" option in Menu 1 is selected, insert three rows after the "First step" Process Step Description, and name their Process Step Descriptions "has stripes", "is orange and black". and "has sharp teeth".Would you please explain: how does one know 1) "three" rows are to be inserted, 2) to inserted the rows after row#2 (you saidadd the row(s) either above **OR** below a specific existing row), 3) the descriptions are "has stripes", "is orange and black" and "has sharp teeth"? I sympathise with the learning curve for scripting but would please include your best script.