In the previous screencast, I showed you how we can work with arrays that are external to VBA. In other words, arrays that are on the Excel spreadsheet. So in the previous example, we had just this array and we worked with adding 5 to it, and also adding 5 and sort of offsetting the result down in these cells. So I want to show you now how we can create what we call local arrays and that is their local to the Visual Basic Editor. So I've got a sub here, it's called create array. And now what we do to create, for example, a 2x2 array here, we dim capital A with open and close parentheses, 2, 2 that means it has 2 rows and 2 columns. And I'll show you in a few minutes why that's actually not the case, it's really not a 2x2, it's really a 3x3 because there is a zeroth row and a zeroth column. But anyway, let's proceed and I'll show you that in minute. We can define elements of A, A 1, 1 that means the first row, first column, we can define that as 3 A 1, 2 that means row 1, column 2 is 5, and so on. So when I run through this using F8, now so I ran that first line, and I wanted to first show you what happens when we open up A. When you open up A down here, and by the way, when I dimmed A as integer, that means all of the elements of A, even though A is an array, it has all the elements are integer type. So you notice when I open up A, there's a + sign we can open up that and this corresponds to row 1 and row 2. So right now, I've only defined the first position, the 1, 1. And so in the first row, in the first column, we have a 3. Now as I alluded to earlier a 2x2 defined in this way really is a 3x3 because there's automatically a zeroth row and a zeroth column, so I can open up the zeroth row and there's also three elements there. So you notice I have all 3 rows open and there's 1 more, there's an extra column, so there's a zeroth column. Now let me show you, a lot of times you don't want that, and most times you won't want that. So I'm going to go ahead and stop that and I'm going to add this statement called Option Base 1. Now when I run this, when I step through this, let's just go through all four of those values. I can open up A, and because I wrote that Option Base 1, now I really only have a 2x2. So there is no zeroth row and zeroth column of our array when I put this Option Base 1. You might run into a couple of scenarios where you'd want to use base 0 but for the most part, you probably want to use Option Base 1. So that's how we can define the array and let me just go ahead and change this. I'm just going to do something like we can MsgBox A 2,2. So, if we created this array, it stores all the values and then you can do stuff with those different elements. So this would be the 2, 2 position of A. Now a lot times, you're going to want to import arrays from Excel. So we're going to import this selection as an array, and I'll show you that in a subsequent screencast. I wanted to show you one more thing in here is how the user, you could prompt the user to input the elements of these 2x2 array. So what I've done here is I dimmed i and j, we're going to have two indices of iteration, I have an outer for loop where we iterating through the first and second rows. In each row, we're iterating through column 1 and 2, and this is just a 2x2 array. And then for each element, each of those four elements of the 2x2 array, I'm setting A i, j = to InputBox Please enter element, and then we have i, j. And when we run this then, it comes up with the first one, Please enter element 1,1. So the user can put in a value, then it asks for enter element 1,2. So we can just put in values here. In this way then, the user is defining the array instead of us setting it within the subroutine. So that's how you can create basic arrays that are local to VBA, so A here is a local array. In the next screencast, I'm going to show you how we can bring in selections and ranges from Excel and define them as new arrays that are local to VBA.