I need to ook for values from sheet A in sheet B, and then do function in corresponding sheet B cell in VBA so I can change the data in worksheet 1, press a button, and have it work. The Letter headings denote the name of the rows in excel. The xs are just saying that it is data I do not want to manipulate. I have sheet 1 and sheet 2.
Worksheet 1
H I J K L M N
1 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 100 xxxxxxxx
2 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 200 xxxxxxxx
3 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 300 xxxxxxxx
4 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 400 xxxxxxxx
5 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 500 xxxxxxxx
6 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 600 xxxxxxxx
7 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 700 xxxxxxxx
8 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 800 xxxxxxxx
9 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 900 xxxxxxxx
10 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 1000 xxxxxxxx
11 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 1100 xxxxxxxx
12 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 1200 xxxxxxxx
13 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 1300 xxxxxxxx
14 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 1400 xxxxxxxx
15 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 1500 xxxxxxxx
16 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 1600 xxxxxxxx
17 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 1700 xxxxxxxx
18 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 1800 xxxxxxxx
19 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 1900 xxxxxxxx
20 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 2000 xxxxxxxx
Worksheet 2
H I J K L M N
2 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 25 xxxxxxxx
5 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 40 xxxxxxxx
9 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 35 xxxxxxxx
11 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 50 xxxxxxxx
10 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 65 xxxxxxxx
6 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 90 xxxxxxxx
7 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 10 xxxxxxxx
So that the corresponding values are subtracted in worksheet 1, thus changing the values of the M column.
Worksheet 1 - new
H I J K L M N
1 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 100 xxxxxxxx
2 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 175 xxxxxxxx
3 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 300 xxxxxxxx
4 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 400 xxxxxxxx
5 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 460 xxxxxxxx
6 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 510 xxxxxxxx
7 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 690 xxxxxxxx
8 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 800 xxxxxxxx
9 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 865 xxxxxxxx
10 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 935 xxxxxxxx
11 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 1050 xxxxxxxx
12 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 1200 xxxxxxxx
13 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 1300 xxxxxxxx
14 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 1400 xxxxxxxx
15 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 1500 xxxxxxxx
16 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 1600 xxxxxxxx
17 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 1700 xxxxxxxx
18 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 1800 xxxxxxxx
19 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 1900 xxxxxxxx
20 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 2000 xxxxxxxx
With acknowledgements to Gary's Student's answer, this is a variation on the theme which (a) uses the
Range.Find
method to find the account and (b) allows you to set the columns (and other setup parameters) as you have requested. Accordingly, set the various parameters to suit your scenario. Note both my sets of test data were positioned to start in A1 and Company/Expense/Account were side-by-side ie.Offset
s of 1.As an alternative to avoid a loop:
This will perform the update to the values on Sheet B
EDIT#1:
Here is the updated code.....remove the old code:
This will update the values on sheet A (your worksheet 1) based on the delta values on sheet B (2)