# data[].attributes.body
Deadline 27th November DO NOT BE LATE!!!

# data[].attributes.attachment_link.title
How to Share you Unit 19 Spreadsheet with others

# data[].attributes.body
Deadline 6th November DO NOT BE LATE!!!

# data[].attributes.body
Read carefully or regret forever!!!

# data[].attributes.body
With thanks to Arron Li for sorting these out!

# data[].attributes.attachment_link.title
United Kingdom Real Random Address - Fake Address, Random Address Generator

# data[].attributes.attachment_link.description
United Kingdom Real Random Address - Provide By FakeAddressGenerator

# data[].attributes.body
From Dan Church

To run:
Open a browser
Press F12
Copy and paste the code into the Console
Let it run
Copy and paste the text in the Console

# data[].attributes.attachment_link.readable_text
var include_end_dates = function()
{
	return confirm('Do you want to generate course start and end dates?\nOK means yes, cancel means no.');
}

include_end_dates();

function GetRandMonth()
{
	return Math.floor((Math.random() * 4) + 9);
}

function GetRandDay(Month)
{
	var months_with_30_days = [9, 11];
	var num_days = 31;

	if (months_with_30_days.includes(Month))
	{
		num_days = 30;
	}

	return Math.floor((Math.random() * num_days) + 1);
}

function GenerateDate(num_dates)
{
	var d = new Date();
	var month = GetRandMonth();
	var day = GetRandDay(month);

	if (day < 10)
	{
		day = '0' + day;
	}

	if (month < 10)
	{
		month = '0' + month;
	}

	var date = (day + '/' + month + '/' + d.getFullYear()).toString();

	if (include_end_dates)
	{
		//52 weeks in a year, 46 weeks in a college year
		//prevent day being reduced by 6 by saying exactly where the month is located
		date = date + '\t' + date.replace('/' + month + '/', '/0' + (month - 6) + '/').replace(d.getFullYear(), (d.getFullYear() + 1));
/*
		//level 3 courses = 6, 12, 15, 16, 19, 24, 33, 36, 39, 42 - 2 years
		//level 4 courses = 7 - 3 years
		//level 5 courses = 34, 37, 40, 43 - 4 years

		if (num_dates == 6 || num_dates == 12 || num_dates == 15 || num_dates == 16 || num_dates == 19 || num_dates == 24 || num_dates == 33 || num_dates == 36 || num_dates == 39 || num_dates == 42)
		{
			date = date.replace(d.getFullYear() + 1, d.getFullYear() + 2);
		}
		else if (num_dates == 7)
		{
			date = date.replace(d.getFullYear() + 1, d.getFullYear() + 3);
		}
		else if (num_dates == 34 || num_dates == 37 || num_dates == 40 || num_dates == 43)
		{
			date = date.replace(d.getFullYear() + 1, d.getFullYear() + 4);
		}
*/
		date = date.toString();

		//rectify invalid dates that were caused by taking away 6 weeks
		var months_with_30_days = ['04', '06'];

		//console.log('date.substring(11, 13) = ' + date.substring(11, 13));
		//console.log('date.substring(14, 16) = ' + date.substring(14, 16));
		//console.log('parseInt(date.substring(11, 13) = ' + parseInt(date.substring(11, 13)))

		if (months_with_30_days.includes(date.substring(14, 16)) && date.substring(11, 13) == '31')
		{
			date = date.replace('\t' + day, '\t30');
		}
		else if (date.substring(14, 16) == '02' && parseInt(date.substring(11, 13)) > 28)
		{
			date = date.replace('\t' + day, '\t28');
		}
	}

	return date;
}

var num_dates = 0;
var num_courses = 44;
var prev_dates = [];
var valid_dates = [];
var valid_dates_counter = 0;

while (num_dates < num_courses)
{
	var not_generated_valid_date = true;

	while (not_generated_valid_date)
	{
		var date = GenerateDate(num_dates);

		prev_dates.push(date);

		if (prev_dates[(num_dates - 1)] == date)
		{
			//prevents the exact same date being grouped in the console
			GenerateDate(num_dates);
		}
		else
		{
			valid_dates.push(date);
			not_generated_valid_date = false;
		}
	}
	num_dates++;
}

while (valid_dates_counter < valid_dates.length)
{
	console.log(valid_dates[valid_dates_counter]);
	valid_dates_counter++;
}

# data[].attributes.attachment_link.readable_text
Private Sub CommandButton1_Click()

    If MsgBox(prompt:=" Do you really want to close?", Buttons:=vbOKCancel) = vbOK Then
         
        ActiveWorkbook.Save
        Application.Quit
    End If
End Sub
 
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    If CloseMode = vbFormControlMenu Then
         
        Cancel = True
        Call CMD_Cancel_Click
    End If
End Sub

End Sub

# data[].attributes.headline
Coleg Ceredigion Student Applications spreadsheet - instructions PART '2a'

# data[].attributes.subject
Coleg Ceredigion Student Applications spreadsheet - instructions PART '2a'

# data[].attributes.body
How to do the 'Enrolments' worksheet

# data[].attributes.attachment_link.title
Unit 19 Spreadsheet instructions Part '2A'

# data[].attributes.attachment_link.description
Uploaded by Andrew Copeland on 2017-09-19.

# data[].attributes.headline
Coleg Ceredigion Student Applications spreadsheet - instructions PART 2

# data[].attributes.subject
Coleg Ceredigion Student Applications spreadsheet - instructions PART 2

# data[].attributes.body
How to do the 'courses' worksheet

# data[].attributes.attachment_link.description
Uploaded by Andrew Copeland on 2017-09-10.

# data[].attributes.headline
Coleg Ceredigion Student Applications spreadsheet - instructions PART 1

# data[].attributes.subject
Coleg Ceredigion Student Applications spreadsheet - instructions PART 1

# data[].attributes.body
How to do the 'students' worksheet

# data[].attributes.attachment_link.description
Uploaded by Andrew Copeland on 2017-09-10.

# data[].attributes.headline
Coleg Ceredigion Student Applications spreadsheet instructions PART 7 - How to create brilliant graphs for criterion 'P4'

# data[].attributes.subject
Coleg Ceredigion Student Applications spreadsheet instructions PART 7 - How to create brilliant graphs for criterion 'P4'

# data[].attributes.attachment_link.description
How to create impressive, well-formatted graphs for criterion P4 of unit 19 Spreadsheet Modelling

# data[].attributes.headline
Coleg Ceredigion Student Applications spreadsheet - instructions PART 6 - How to create a graph in Excel

# data[].attributes.subject
Coleg Ceredigion Student Applications spreadsheet - instructions PART 6 - How to create a graph in Excel

# data[].attributes.attachment_link.title
How to create a graph in Excel and use it in a report

# data[].attributes.headline
Coleg Ceredigion Student Applications spreadsheet - instructions PART 5

# data[].attributes.subject
Coleg Ceredigion Student Applications spreadsheet - instructions PART 5

# data[].attributes.body
How to create the EXIT button

# data[].attributes.attachment_link.title
Unit 19 spreadsheet- how to create the EXIT button

# data[].attributes.attachment_link.description
Instructional video about how to create the EXIT button in your Unit 19 student applications spreadsheet. Includes Active X controls and some Visual Basic code.

# data[].attributes.headline
Coleg Ceredigion Student Applications spreadsheet - instructions PART 4

# data[].attributes.subject
Coleg Ceredigion Student Applications spreadsheet - instructions PART 4

# data[].attributes.body
The user interface and navigation buttons

# data[].attributes.attachment_link.entities[].name
Crash Course Data Entry Formulas Formats

# data[].attributes.attachment_link.description
How to create the user interface and navigation buttons for your student applications spreadsheet

# data[].attributes.headline
Coleg Ceredigion Student Applications spreadsheet - instructions PART 3

# data[].attributes.subject
Coleg Ceredigion Student Applications spreadsheet - instructions PART 3

# data[].attributes.body
The 'Funding worksheet - including fiendish nested IF statement!!

# data[].attributes.attachment_link.description
Uploaded by Andrew Copeland on 2016-10-04.

# data[].attributes.body
Develop a complex spreadsheet model to meet particular needs (P2)

Use formulae, features and functions to process information (P3)

Use appropriate tools to present data (P4)

Customise the spreadsheet model to meet a given requirement (P5)

Use automated features in the spreadsheet model to meet a given requirement (P6)

Use formatting to enhance the complex spreadsheet model (M1)

Use advanced formulaic functions to process information (M2)

Use summarising tools to provide results for a given requirement (M3)