The first thing to check when subtracting a 3 or more digit number from another number is whether the number you're subtracting is bigger than the number you're subtracting from, because, if so, the result will be negative. In such cases do the subtraction the other way round and then put a minus sign in front of the result. For example, 123-456 has a negative result because 456 is bigger than 123, so change the subtraction to 456-123=333, then make the result negative, -333.
In this example, subtraction was easy because each of the digits in 123 was easy to subtract from each of the digits in 456: 6-3=3, 5-2=3, 4-1=3. I guess your problem with subtraction is what to do when that's not the case. This involves what is usually called borrowing. Now here's a bit of algebra that demonstrates the principle of borrowing. ABC-DEF, where each letter represents a digit and where the number ABC is bigger than DEF, can be written:
100A+10B+C-(100D+10E+F)=100(A-D)+10(B-E)+C-F. You can see how this works if we make ABC=456 and DEF=123, then we have 100(4-1)+10(5-2)+6-3=300+30+3=333.
But supposing C is less than F and B is less than E. We start borrowing. C-F is negative so we make C bigger by adding 10 to it: 10+C-F. But we have to get the 10 we borrowed from the tens place. So we have [10(B-E)-10]+[10+C-F]. This is exactly the same as 10(B-E)+C-F. Now take a look at the tens place: 10(B-E)-10. You can look at this two ways: 10(B-1-E), where we subtract 1 from B before trying to subtract E; or 10(B-(E+1)), where we add 1 to E before trying to subtract. The same rule applies between the tens and the hundreds place, and would keep on applying depending on the length of the number.
To make this clearer take another example: 423-156. 6 is bigger than 3 in the ones place, so we add 10 to 3 to get 13 then subtract 6 to give 7. So the ones result is 7. We borrowed 10 so we must compensate by: either subtracting 1 from 2 to get 1 from which we need to subtract 5; or by adding 1 to 5 to get 6, which needs to be subtracted from 2.
Whichever way we think of the previous step, we have to borrow 100 from the hundreds, so we have either 100+10-50 or 100+20-60, that is, 110-50=60, or 120-60=60, giving us a 6 in the tens place in the result next to the 7 in the ones result. To compensate for the borrowed 100 we again have two choices: subtract 1 from 4 to get 3 then subtract 1; or add 1 to 1 to get 2 and subtract from 4. Either way we get 2 in the hundreds place. The result is 267.
This is the traditional way of doing subtraction, but there are other ways. My favourite for 423-156 (or similar problem) is to consider that 156 is the same as 200-44, so 423-156 is the same as subtracting 200 from 423 (easy!), giving us 223, then adding 44, so we have 223+44=267. This embraces the idea of complementarity. The complement of every digit I take to be that digit subtracting from 9, so we have the complements of all the digits: 0 has 9 as its complement; 1 has 8, 2 has 7, etc. The complement is increased by 1 for the ones place only, so 6 has complement 4 in the ones place rather than 3. By using the complement, subtraction is simplified because it becomes mainly addition.
A related method is to use the complement for the whole of the number to be subtracted, so 156 becomes 1̅844 and 423-156 becomes 423+1̅844=267. Let me explain. 1̅ means -1 in the thousands position (in this case). The addition causes a carryover into the thousands position which causes the thousands to become zero. This complementary method works for all lengths of numbers. Just place 1̅ in front of the complement. Another example: 12345-9876 becomes 12345+1̅0124=2469. In this case, 1̅ is in the ten thousands position. When added to 1 in 12345 the result is zero. Learning the complements of the digits is a worthwhile exercise so that you always know the complement of any digit without having to think too much about it.
I hope this is helpful.