Hi quinn,
Your description of what the script does is right on.
Here is a more generalized form addressing your questions. The property names are more descriptive. If you want to look in column C for the name of the table with the menu values, you would change subMenuCol to 3.
If you want to keep all your tables with menu values on a separate sheet you would change nameOfSheetWithMenuValuesTables. (That works fine, but causes a "jumping to and back" animation.)
The script is set up to copy the last cell in a table with the menu values, which in my example is always formatted as Pop-Up Menu set to 'None' (blank). But if you want the default value in the 'submenu' to be something other than blank you could have the script point to another cell in the table (change 'to last cell' to 'to second cell' or 'to cell 2', etc., etc.).
This script could easily be turned into an "app" that runs entirely automatically in the background at specified intervals if one typically enters new data in fairly large batches.
SG
property nameOfDataEntrySheet : "Sheet 1"
property nameOfSheetWithMenuValuesTables : "Sheet 1"
property nameOfDataEntryTable : "Table 1"
property mainMenuCol : 1 --> specify the column with the "bigger" categories
property subMenuCol : 2 --> specify the column for the "submenu" pop-ups "dependent" on the bigger categories
tell application "Numbers"
set d to front document
set s to d's sheet nameOfDataEntrySheet
set m to d's sheet nameOfSheetWithMenuValuesTables
set t to s's table nameOfDataEntryTable
tell t
try
repeat with i from 2 to count rows
tell m's table (row i's cell mainMenuCol's value)
set selection range to last cell
activate application "Numbers"
tell application "System Events" to keystroke "c" using command down
end tell
set selection range to column subMenuCol's cell i
tell application "System Events" to keystroke "v" using command down
end repeat
end try
end tell
end tell