PDA

View Full Version : Finding duplicates in 6 columns by excel VBA



essasmj
02-09-2023, 10:25 AM
I have this code to check if a text is duplicated 6 times in 6 columns. The columns are not sequential and selected by the user through combobox10 to combobox15. Once the columns are identified, the code will check, if inside those 6 columns there is a common repeated text (must be repeated in 6 columns, not in 5 or less). Each combobox will allow the user to select a different column in the sheet (sheet5), except the selection “Not Sure”. It will go to column “O”, which contain all the texts in other columns (without duplication). The code is running fine for selections in combobox10, but giving the whole list for other comboboxes. How to correct the code?



Dim CoulPupil, CoulPulse, CoulBP, CoulRR, CoulTemp, CoulpH As StringDim colmn1, colmn2, colmn3, colmn4, colmn5, colmn6 As Integer' sending msg if nothing selected If ComboBox10.value = "Not Sure" And ComboBox11.value = "Not Sure" And ComboBox12.value = "Not Sure" And ComboBox13.value = "Not Sure" And ComboBox14.value = "Not Sure" And ComboBox15.value = "Not Sure" Then answer = MsgBox("Select some findings in the patients to show the list ", vbOKOnly + vbCritical, "Patient's data Missing") End If'if the user selected "Not Sure" the search will go to column O which contain the whole list'select appropriate column based on user selection CoulPupil = IIf(ComboBox10.value = "Mydriasis", "A", IIf(ComboBox10.value = "Miosis", "B", "O")) CoulPulse = IIf(ComboBox11.value = "Tachycardia", "C", IIf(ComboBox11.value = "Bradycardia", "D", "O")) CoulBP = IIf(ComboBox12.value = "Hypertension", "E", IIf(ComboBox12.value = "Hypotension", "F", "O")) CoulRR = IIf(ComboBox13.value = "Tachypnea", "G", IIf(ComboBox13.value = "Bradypnea", "H", "O")) CoulTemp = IIf(ComboBox14.value = "Hyperthermia", "I", IIf(ComboBox14.value = "Hypothermia", "J", "O")) CoulpH = IIf(ComboBox15.value = "Metabolic Acidosis", "K", IIf(ComboBox15.value = "Metabolic Alkalosis", "L", _ IIf(ComboBox15.value = "Respiratory Acidosis", "M", IIf(ComboBox15.value = "Respiratory Alkalosis", "N", "O")))) 'convert column letter to number colmn1 = Columns(CoulPupil).Column colmn2 = Columns(CoulPulse).Column colmn3 = Columns(CoulBP).Column colmn4 = Columns(CoulRR).Column colmn5 = Columns(CoulTemp).Column colmn6 = Columns(CoulpH).Column EntryForm.ListBox1.Clear For i = 2 To 149 If WorksheetFunction.CountA(Sheet5.Range(Sheet5.Cells(2, colmn1), Sheet5.Cells(149, colmn1)), Sheet5.Cells(i, colmn1).value) > 0 _ And WorksheetFunction.CountA(Sheet5.Range(Sheet5.Cells(2, colmn2), Sheet5.Cells(149, colmn2)), Sheet5.Cells(i, colmn1).value) > 0 _ And WorksheetFunction.CountA(Sheet5.Range(Sheet5.Cells(2, colmn3), Sheet5.Cells(149, colmn3)), Sheet5.Cells(i, colmn1).value) > 0 _ And WorksheetFunction.CountA(Sheet5.Range(Sheet5.Cells(2, colmn4), Sheet5.Cells(149, colmn4)), Sheet5.Cells(i, colmn1).value) > 0 _ And WorksheetFunction.CountA(Sheet5.Range(Sheet5.Cells(2, colmn5), Sheet5.Cells(149, colmn5)), Sheet5.Cells(i, colmn1).value) > 0 _ And WorksheetFunction.CountA(Sheet5.Range(Sheet5.Cells(2, colmn6), Sheet5.Cells(149, colmn6)), Sheet5.Cells(i, colmn1).value) > 0 _ Then EntryForm.ListBox1.AddItem Sheet5.Cells(i, colmn1).value End If Next i End Sub

Aussiebear
02-09-2023, 10:59 AM
I have tried to correct your punctuation and spelling in the description, but you need to have another go at adding your code? I'm not going to try and decipher what you currently have in your initial post.

essasmj
02-09-2023, 05:54 PM
thanks for your help
this is the code



Dim CoulPupil, CoulPulse, CoulBP, CoulRR, CoulTemp, CoulpH As String
Dim colmn1, colmn2, colmn3, colmn4, colmn5, colmn6 As Integer
' sending msg if nothing selected
If ComboBox10.value = "Not Sure" And ComboBox11.value = "Not Sure" And ComboBox12.value = "Not Sure" And ComboBox13.value = "Not Sure" _
And ComboBox14.value = "Not Sure" And ComboBox15.value = "Not Sure" Then
answer = MsgBox("Select some findings in the patients to show the list ", vbOKOnly + vbCritical, "Patient's data Missing")
End If
'if the user selected "Not Sure" the search will go to column O which contain the whole list
'select appropriate column based on user selection
CoulPupil = IIf(ComboBox10.value = "Mydriasis", "A", IIf(ComboBox10.value = "Miosis", "B", "O"))
CoulPulse = IIf(ComboBox11.value = "Tachycardia", "C", IIf(ComboBox11.value = "Bradycardia", "D", "O"))
CoulBP = IIf(ComboBox12.value = "Hypertension", "E", IIf(ComboBox12.value = "Hypotension", "F", "O"))
CoulRR = IIf(ComboBox13.value = "Tachypnea", "G", IIf(ComboBox13.value = "Bradypnea", "H", "O"))
CoulTemp = IIf(ComboBox14.value = "Hyperthermia", "I", IIf(ComboBox14.value = "Hypothermia", "J", "O"))
CoulpH = IIf(ComboBox15.value = "Metabolic Acidosis", "K", IIf(ComboBox15.value = "Metabolic Alkalosis", "L", _
IIf(ComboBox15.value = "Respiratory Acidosis", "M", IIf(ComboBox15.value = "Respiratory Alkalosis", "N", "O"))))
'convert column letter to number
colmn1 = Columns(CoulPupil).Column
colmn2 = Columns(CoulPulse).Column
colmn3 = Columns(CoulBP).Column
colmn4 = Columns(CoulRR).Column
colmn5 = Columns(CoulTemp).Column
colmn6 = Columns(CoulpH).Column
EntryForm.ListBox1.Clear
For i = 2 To 149
If WorksheetFunction.CountA(Sheet5.Range(Sheet5.Cells(2, colmn1), Sheet5.Cells(149, colmn1)), Sheet5.Cells(i, colmn1).value) > 0 _
And WorksheetFunction.CountA(Sheet5.Range(Sheet5.Cells(2, colmn2), Sheet5.Cells(149, colmn2)), Sheet5.Cells(i, colmn1).value) > 0 _
And WorksheetFunction.CountA(Sheet5.Range(Sheet5.Cells(2, colmn3), Sheet5.Cells(149, colmn3)), Sheet5.Cells(i, colmn1).value) > 0 _
And WorksheetFunction.CountA(Sheet5.Range(Sheet5.Cells(2, colmn4), Sheet5.Cells(149, colmn4)), Sheet5.Cells(i, colmn1).value) > 0 _
And WorksheetFunction.CountA(Sheet5.Range(Sheet5.Cells(2, colmn5), Sheet5.Cells(149, colmn5)), Sheet5.Cells(i, colmn1).value) > 0 _
And WorksheetFunction.CountA(Sheet5.Range(Sheet5.Cells(2, colmn6), Sheet5.Cells(149, colmn6)), Sheet5.Cells(i, colmn1).value) > 0 _
Then
EntryForm.ListBox1.AddItem Sheet5.Cells(i, colmn1).value
End If
Next i
End Sub

essasmj
02-09-2023, 05:57 PM
I arranged the description

I have this code to check if a text is duplicated 6 times in 6 columns.
The columns are not sequential and selected by the user through combobox10 to combobox15.
Once the columns are identified, the code will check, if inside those 6 columns there is a common repeated text (must be repeated in 6 columns, not in 5 or less).
Each combobox will allow the user to select a different column in the sheet (sheet5), except the selection “Not Sure”. It will go to column “O”, which contain all the texts in other columns (without duplication).

The code is running fine for selections in combobox10, but giving the whole list for other comboboxes. How to correct the code?

arnelgp
02-09-2023, 09:47 PM
CountA() will Count "not blank" cells, regardless of the value?

essasmj
02-10-2023, 03:02 AM
yes I used countA because all cells are not blank till the last value in any column. Since the longest column is 149 row and the loop is 149, so the code will not find any duplicate blank cells

the other point is that this code using countA

WorksheetFunction.CountA(Sheet5.Range(Sheet5.Cells(2, colmn1), Sheet5.Cells(149, colmn1)), Sheet5.Cells(i, colmn1).value) > 0



will count the how many times this value repeated. so if it's in that column the answer will be 1 and this is >0. if the count is >0 in the 6 columns that means it's repeated in the 6 columns and by this it will be added to the listbox

georgiboy
02-10-2023, 08:57 AM
I am not getting involved with creating a userform etc... to display what maybe should have been uploaded as a sample file. Instead i have created a VERY back to basics way to do it with formula in the hope it will shed some light on the process needed for the VBA of the same. File attached.

Aussiebear
02-10-2023, 04:55 PM
I have a number of concerns with your current code and was wondering if you could explain further

1. From the code below, I assume you are asking if all of the values for Comboboxes 10 to 15 inclusive are "Not sure" then show the message


If Combobox10.Value = "Not Sure" And ComboBox11.value = "NotSure" And Combobox13.Value = "NotSure" _
And ComboBox14.Value = "Not Sure" And ComboBox15.Value = "Not Sure" Then
Answer = MsgBox("Select some findings the Patients to show list", vbOKOnly + vbCritical, "Patient's data missing")
End If


Wouldn't you be better off if any of the values were "Not Sure" and then show the message?

2. You stated
if the user selected "Not Sure" the search will go to column O which contain the whole list

Your Comboboxes have defined values eg. Combobox10, "Mydriasis" or "Miosis", so where does the value "Not Sure" come from?
Also from Point 1, if there was a value "Not Sure" would that cause the MsgBox to show?

3. I guess its a case of personal preferences, but when I see the following


CoulPupil = IIf(ComboBox10.value = "Mydriasis", "A", IIf(ComboBox10.value = "Miosis", "B", "O"))

The use of "Combobox10" etc is to my mind, a poor coding technique. Since we know that this combobox deals with results from Pupil tests why not name the object "cboPupil". so as to clearly define what the Combobox function actually is? All 6 Comboboxes could easily be renamed to suit its function ( cboPupil, cboPulse, cboBP, cboRR, cboTemp, & cboPH). Again as I mentioned earlier its a personal preference, but it would be far easier to chase down in the longer term.

4. I'm not seeing why you are needing to change the Column description to a Number? Surely Excel deals with Columns A to whatever, just as easily as "Colmn1" to whatever. Then I'm also at a loss to understand your intent with the following code


'convert column letter to number
colmn1 = Columns(CoulPupil).Column
colmn2 = Columns(CoulPulse).Column
colmn3 = Columns(CoulBP).Column
colmn4 = Columns(CoulRR).Column
colmn5 = Columns(CoulTemp).Column
colmn6 = Columns(CoulpH).Column


As I understand your intent in Point 2, Combobox10 can place a value in either of three columns, "A","B",or "O". So which represents "Columns (CoulPupil).Column?

5. I think you are tying yourself up in a knot here trying to count a value.


For i = 2 To 149
If WorksheetFunction.CountA(Sheet5.Range(Sheet5.Cells(2, colmn1), Sheet5.Cells(149, colmn1)), Sheet5.Cells(i, colmn1).value) > 0 _
And WorksheetFunction.CountA(Sheet5.Range(Sheet5.Cells(2, colmn2), Sheet5.Cells(149, colmn2)), Sheet5.Cells(i, colmn1).value) > 0 _
And WorksheetFunction.CountA(Sheet5.Range(Sheet5.Cells(2, colmn3), Sheet5.Cells(149, colmn3)), Sheet5.Cells(i, colmn1).value) > 0 _
And WorksheetFunction.CountA(Sheet5.Range(Sheet5.Cells(2, colmn4), Sheet5.Cells(149, colmn4)), Sheet5.Cells(i, colmn1).value) > 0 _
And WorksheetFunction.CountA(Sheet5.Range(Sheet5.Cells(2, colmn5), Sheet5.Cells(149, colmn5)), Sheet5.Cells(i, colmn1).value) > 0 _
And WorksheetFunction.CountA(Sheet5.Range(Sheet5.Cells(2, colmn6), Sheet5.Cells(149, colmn6)), Sheet5.Cells(i, colmn1).value) > 0 _ Then
EntryForm.ListBox1.AddItem Sheet5.Cells(i, colmn1).value
End If
Next i


Since you clearly defined a specific value only for a specific column except Column "O", why are you counting values in any column other than "O"?

essasmj
02-10-2023, 06:18 PM
this is the file with the form

essasmj
02-10-2023, 06:22 PM
thanks a lot georgiboy for your sample. I attached my file.
I cant start by giving the code what the are the duplicated values to search for them, because I don't know them
I need the code to search inside the 6 columns to find if there are values repeated in the 6 columns
note: the columns are not sequential, they are dynamic and selected by the user

essasmj
02-10-2023, 07:00 PM
thanks aussiebear for your time in reading the code details

these are the answers for your concerns

the user has to tell me through comboboxes what s/he found in a patient who is coming to the emergency department in a hospital
the form will try to give the user the list of poisons that caused these findings
if he selected "Miosis" only the form will give the poisons that cause miosis
If he selected "Miosis" and "Tachycardia" the form will give the poisons that cause miosis and tachycardia (not one of them) so the form should search in the columns of “Miosis” and the column of “Tachycardia” if there are poisons mentioned in both columns (duplicated in excel language)

concern 1
if the user selected "Not Sure" in all comboboxes, so no need for the search because the patient is not having any signs of poisoning
since the patient may come with some signs (Not all the mentioned in combobox10 to 15), so the form need to search if the patient is having "Tachycardia" and "Hypertension" but there was no "Miosis" and no "Mydriasis" in the patient, so the user in the first combobox can select "Not Sure"


Concern2
column "O" is a coding necessity for the code
column "O" contains all the values that are found inside column "A" to column "N" (off course duplicates inside column "O" removed so each value appearing once inside column "O")
if the user selected not sure the code will go and consider the selected column is column "O"
as example if the user selected in combobox10 "Mydriasis" and all other comboboxes "Not Sure". for the code the selected columns will be "A", "O","O","O","O","O". by this the listbox will show only the values in column "A" since any value inside column A is also found in column “O”


concern3
thanks for your suggestion. I will take it in consideration. I was focusing more on the duplicate search logic during coding

concern4
this code because in countA I need the number of the column not the letter ( I mean "1" not "A"). CounA was giving errors when using the letter

concern5
to start with I tried array and I tried dictionaries. non worked
to explain the the conuntA role here:
first values are never duplicated inside any column (they are duplicated only across columns)
if the value is found in any column it's count will be>0. if it's not found count will be 0 and if statement will be false
The value should be found in all 6 columns to appear in listbox1. If it’s missing in any single column the code will not add it to the listbox (if the value is not available in any single column. one of those if statements will be false and it will not be added to the listbox)
directing the code to column "O" each time the user is selecting "Not Sure" to simplify the code. Example if the user selected "Tachycardia" and "Hypertension" and "Not sure" for other comboboxes. the code will search in "Tachycardia" and "Hypertension" and 4 times in column "O" so as if the code is searching only between the columns of "Tachycardia" and "Hypertension" since all the values in those columns are found in column "O"

arnelgp
02-10-2023, 09:11 PM
i am still not sure what exactly is the output.
see if this is what you need.

Aussiebear
02-10-2023, 09:14 PM
Now I'm following you better. It's marvellous what a sample file shows. Am I on the right track by saying:

Column1 can be either A (Mydriasis), B (Miosis) or O (Not Sure)
Column2 can be either C (Tachycardia), D (BradyCardia)or O (Not Sure)
Column3 can be either E (Hypertension), F (Hypotension) or O (Not Sure)
Column4 can be either G (Tachypnea), H (Bradypnea) or O (Not Sure)
Column5 can be either I (Hyperthermia), J (Hypothermia) or O (Not Sure)
Column6 can be either K (Metabolic Acidosis), L Metaboliic Alkalosis), M (Respiratory Acidosis), N (Respiratory Alkalosis), or O (Not Sure)

That you would like only those values chosen to enable visible listing of the Poison types then be shown?

Then you would like a count of each value within Column O on Sheet 5, that occurs within the visible listing? However if the count is not greater than 5 its to be disregarded?

essasmj
02-11-2023, 01:31 AM
dear arnelgp (http://www.vbaexpress.com/forum/member.php?74556-arnelgp)

thanks for working on the file I resolved some typo (column to colmn) and VBA corrections (trim to VBA.trim)
but I am stuck with "Temp". an error code is coming "Can't find project or library"
do you want to dim Temp as string, array or function
I attached the file with typo and VBA.trim ready

essasmj
02-11-2023, 01:38 AM
thanks Aussiebear (http://www.vbaexpress.com/forum/member.php?3907-Aussiebear) for your work on the code againyour tracking is right

now after this selection of the columns the my aim is that the code can identify if one value repeated in the 6 columns
for the example if the user selected from the comboboxes 10 to 15 as follows (Mydriasis, Tachycardia, Hypertension, Not Sure, Not Sure, Not Sure)
the code will search in columns A,C,E,O,O,O

since "cocaine" is appearing in all of those columns it should be populated in listbox 1

I hope this can explain what I aiming for

arnelgp
02-11-2023, 02:30 AM
here is 2nd attempt.

Aussiebear
02-11-2023, 03:30 AM
since "cocaine" is appearing in all of those columns it should be populated in listbox 1



That raises another question for you. It appears to me that you might be trying to rank priority causes by occurrences. What happens in a case of 4 definitive answers and 2 Not Sure's as apposed to 3 definitive answers and 3 Not Sure's. I mean you have a count of 6 for both.

essasmj
02-11-2023, 03:46 AM
dear arnelgp (http://www.vbaexpress.com/forum/member.php?74556-arnelgp)

great work , unfortunately it's only working if selection made in one comboboxes if selection made in two or more comboboxes nothing is showing
for example if I selected mydriasis in the first combobox and tachycardia in the second, no thing will appear in the listbox

essasmj
02-11-2023, 03:54 AM
dear Aussiebear (http://www.vbaexpress.com/forum/member.php?3907-Aussiebear)
I am not trying to rank priority causes by occurrences
my only aim is to get the poisons that cause multiple signs in patients in listbox1

for the example if the user selected from the comboboxes 10 to 15 as follows (Mydriasis, Tachycardia, Hypertension, Not Sure, Not Sure, Not Sure)
the code will search in columns A,C,E,O,O,O
"cocaine" and "Amphetamines"should appear in listbox1 regardless of their sorting


for the example if the user selected from the comboboxes 10 to 15 as follows (Not Sure, Tachycardia, Hypertension, Not Sure, Not Sure, Not Sure)
the code will search in columns O,C,E,O,O,O
"

Amphetamines


Cocaine


Ephedrine


Pseudoephedrine


Theophylline


Caffeine


Methylphenidate


Cathinones


Antihistamines


"should appear in listbox1 regardless of their sorting

while



Theophylline


Albuterol


Isoproterenol


Terbutaline


should not appear since they found in one column and not in both columns

arnelgp
02-11-2023, 03:58 AM
again another try-out.

essasmj
02-11-2023, 04:50 AM
Dear arnelgp
thanks a lot, I think it's working perfect
highly appreciated

can you teach me more about the logic you used
also for this "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=", will it work in any computer with excel

arnelgp
02-11-2023, 05:01 AM
it will work on Excel 2007 and newer.
you can google the "Excel connection string" on the net.

essasmj
02-11-2023, 08:21 AM
Great work arnelgp
I am trying to get the learn the logic of "Excel connection string"

I have two questions regarding the code
if I want to increase the number of columns in the search from 6 to 10 what to change in the code
if I want to ignore the alphabitical sorting, what to comment or remove from the code

p45cal
02-11-2023, 10:54 AM
Here's one to test, it may not work depending on your version of Excel.
Results look like this:
30536
In the listbox you can see a number in brackets after each item, this is the number of columns it appears in (see later for more on this).

There's a new cluster of controls:
30532

If you click on the spinner control it'll change what's shown in the listbox:
30533

They are sorted in descending order.
Is this something that's worth proceeding with? (The code etc. is very scrappy at the moment.)

Note, that earlier I mentioned about the number in brackets after each item; with your data as it is in the Poison sheet there are duplicate items in several columns, they're highlighted on that sheet with conditional formatting. These are causing medically misleading results. For example, if we select only Bradychardia it shouldn't have more than a 1 in the brackets (because we're only looking at one column) but it has a 2. You need to remove these duplicates. I only noticed this later and haven't bothered to correct it in the code, but it should give correct results if you remove the duplicates.
30534

essasmj
02-11-2023, 04:45 PM
thanks a lot p45cal for your help
Regarding the duplicates inside the columns I worked in them, and they are gone in my version
"bs =" this is making an error " Can't find project or library, I can't proceed after that. also I don't want to start guessing and miss your code

Regarding the spinner and the descending order ( sorry, I couldn't test the details because of the above error), I think this will be confusing to the user, the user wants to select from comboboxes and see the result in listbox. keep in mind that users are not Excel or VBA experts. it will take a lot of teaching to get this logic
I think the easiest for them is just to show duplicate values based on different values in comboboxes without spinner

p45cal
02-11-2023, 08:09 PM
"bs =" this is making an error " Can't find project or library, I can't proceed after that. also I don't want to start guessing and miss your code
No version of Excel should have a problem with that line. Did you try the attached file without making any changes?
What version of Excel are you using?


Regarding the spinner and the descending order ( sorry, I couldn't test the details because of the above error), I think this will be confusing to the user, the user wants to select from comboboxes and see the result in listbox. keep in mind that users are not Excel or VBA experts. it will take a lot of teaching to get this logic
I think the easiest for them is just to show duplicate values based on different values in comboboxes without spinner
OK I'll leave it there. The attached is the same file with the duplicates removed.

arnelgp
02-11-2023, 10:24 PM
if you are going to use 10 combobox (or 10 selections)
i already created some variables (with comment) on the Click event code of the button.
you just remove the comment if you already set it up as 10 combobox.

i remove the sorting.
if you want it back just look at the code 'Sorting array from A to Z.
and uncomment For...Next loop.

essasmj
02-12-2023, 01:12 AM
thanks p45cal (http://www.vbaexpress.com/forum/member.php?3494-p45cal) for your for the efforts

still receiving this error "bs =" this is making an error "

my office is 2021
I could not go further since I don't know how to bypass this error
I tried to dim bs as array but the same error came with this line
For Each b In bs

essasmj
02-12-2023, 01:14 AM
Thanks a lot arnelgp (http://www.vbaexpress.com/forum/member.php?74556-arnelgp) , great work
I will test it those days, since I may need to increase the number of comboboxes

Aussiebear
02-12-2023, 05:20 AM
Oh here we go.... The initial request was bogus, the initial terms a deflection.

essasmj
02-12-2023, 09:15 AM
why
what was bogus in my request. I didn't get it ?

Aussiebear
02-12-2023, 04:22 PM
Initially you stated "I have this code to check if a text is duplicated 6 times in 6 columns'. Then went on to say later "if I want to increase the number of columns in the search from 6 to 10 what to change in the code"
Now it seems that you are expanding to 10 combobox selections. For 10 comboboxes, one assumes, given the context of your sample, a minimum of 21 columns of base data. These are things you failed to mention earlier.

You also stated "Each combobox will allow the user to select a different column in the sheet (sheet5), except the selection “Not Sure”. It will go to column “O”, which contain all the texts in other columns (without duplication)." The value "Not Sure", is one of three possible values for columns 1 to 4 and one of five for column 5, was set as the default value for all 5 columns. You run the possibility of corrupting the output before you even start. A person might mistakingly skip over a test because of the set value.

You stated "Once the columns are identified, the code will check, if inside those 6 columns there is a common repeated text (must be repeated in 6 columns, not in 5 or less). Yet later on you say "I think the easiest for them is just to show duplicate values based on different values in comboboxes without spinner". The fact that there must be a common repeated text in all 6 columns, for that text to be listed, refutes your last statement.

essasmj
02-12-2023, 06:55 PM
Dear Aussiebear (http://www.vbaexpress.com/forum/member.php?3907-Aussiebear)sdg thanks for your time in replying to me

it looks like the explanation was confusing to you. I will try to explain as much I can based on my point and my english. but before that thanks again for your time
For me nothing is bogus or goofy
To start with I am not spending all this time in this project for profit. its a gift for my neighborhood hospital

regarding your first point
I was struggling with 6 columns. But when "arnelgp (http://www.vbaexpress.com/forum/member.php?74556-arnelgp)" sorted in out, I started thinking why not to do it for more columns since I received a longer list from the hospital about "poisons" (around 40 columns, needing at least 15 comboboxes). but my skills in excel could not help me to do that so I asked the hospital about the most important ones and I selected 6 (13 columns)
Based on my VBA skills (array, dictionaries and CountA) I could not solve it for 6 columns this is why I asked for help from the forum

regarding your second point
the value "Not Sure" was set as default for all comboboxes because the patient may not have that finding (the patient may come with no "mydriasis" and no "miosis" so in combobox10 the choice will be in this case "Not Sure")
Because I ended up using CountA after I couldn't solve it by Array or Dictionary, I copied all the texts in the columns from "A" to "N" to the column "O" and removed any duplicate inside "O" to satisfy the countA logic which I was building


regarding your last point
one sentence is talking about the code the other is talking about the user

this sentence "Once the columns are identified, the code will check, if inside those 6 columns there is a common repeated text (must be repeated in 6 columns, not in 5 or less) is talking about the code not the user, and it's till now still valid. Even with "arnelgp" solution the code will give only the values if they are repeated in the 6 columns. if the value repeated in 5 columns it will not appear in listbox1


the sentence "I think the easiest for them is just to show duplicate values based on different values in comboboxes without spinner" is talking about the users not the code The users will not see the code. they will only see what's coming in listbox1. I wrote this sentence as an answer to "p45cal" because his code was getting the values repeated "duplicated" in listbox1 with a number indicating how many times they are duplicated. this will not help physicians or nurses
in medical field if the patient came with "Miosis" and "Tachycardia" and "Hypotension" and poisoning is suspected, the physicians want to know which poison can caused those three ( "Miosis" and "Tachycardia" and "Hypotension") together which will appear to them in listbox1
Physicians will not care how many times the value is duplicated inside the excel sheet, so showing the number beside any value in listbox1 will not help them


I hope I explained myself well in this time
my apology for any confusion

p45cal
02-13-2023, 04:56 AM
Physicians will not care how many times the value is duplicated inside the excel sheet, so showing the number beside any value in listbox1 will not help them
This is not showing the number of times the poison is duplicated in the sheet, it's showing how many times the poison appears in only the columns chosen by the user. As long as there are no duplicates (as there were) within any single column that equates to the number of columns the user has chosen that the poison is found in.
If you choose only to show poisons in the listbox that are present in all the columns that the user has chosen, then the list wouldn't show a poison if only 4 out of 5 columns had that poison. I would have thought that a clinician would be very interested to see that sort of result.
Imagine this scenario: A junior accident and emergency doctor, who's been on a hectic shift all night, and had 'enjoyed' himself at a party the night before that, may have decided the patient had miosis, not realising in his tiredness that he had been examining the patient's eyes in the full glare of the morning sun beaming in through his office windows. He includes miosis as a column to search. He gets no results. He does nothing. The patient dies. Had he been able to see results which didn't include miosis he might have seen poisons that were present in all the other columns, find the antidote and the patient lived. Hurrah.
I'd have thought that was helpful to the clinician.
The number in brackets shows the number of columns each poison was found in, and the spinner (defaults to the top score only) allows them to see only the top scoring count of columns, or more lower scores, should they want to.

essasmj
02-13-2023, 08:05 AM
Thanks p45cal for your clarification
first I am not underestimating your efforts. you did a great work with very beautiful logic.

let me explain those two points
I think you gave a great example. but I worked in what was requested from me by the hospital (this is why I mentioned "physicians will not care......."). the request was to display the poisons that can cause all the signs mentioned in comboboxes together. I will discuss your logic with the physicians. may be it will be better if we can show in which column the poison appeared from the user selection to be more informative

regarding "This is not showing the number of times the poison is duplicated in the sheet, it's showing how many times the poison appears in only the columns chosen by the user"
my apology I didn't get it when you shared the file since till now I couldn't bypass the error

p45cal
02-14-2023, 05:03 AM
I will discuss your logic with the physicians. may be it will be better if we can show in which column the poison appeared from the user selection to be more informative
Let's wait and see what they say.

A test, could you put this formula in cell Q2 of the Poison sheet of the file I last attached:
=Poisons(TOCOL($A$2:$K$150),6)

1. Do you get this?:

30545

since till now I couldn't bypass the error
2. Are you saying you've now resolved this error?
If not:
3. Is anything highlighted in yellow while this error is thrown (or after you dismiss the message)?
4. Did you try the file I attached 'right out of the box' without changing anything in it?


Separately,
5. What version of Excel are the physicians using?

p45cal
02-14-2023, 05:20 AM
If anyone else tried my file in msg#26, did you also get the compile error?

georgiboy
02-14-2023, 05:24 AM
If anyone else tried my file in msg#26, did you also get the compile error?

Jst tried it and i seem to get what you have pictured in Pic 1 above - did not get any errors.

p45cal
02-14-2023, 05:54 AM
Jst tried it and i seem to get what you have pictured in Pic 1 above - did not get any errors.

Excellent! Thanks. Did you mean Pic 1 in msg#36 or msg#24?
If msg#36, did the userform work too?

georgiboy
02-14-2023, 06:21 AM
Excellent! Thanks. Did you mean Pic 1 in msg#36 or msg#24?
If msg#36, did the userform work too?

Pic 1 from post 36

It was the userform i was testing, i selected something for each combobox and clicked 'Show the suspected Poisoning' gave me the below
30546

Well in the above i left 2 boxes as 'Not Sure' but this was a second run so you get the idea.
http://www.vbaexpress.com/forum/image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA kAAAKICAYAAAAM4rs0AAAgAElEQVR4nOzdX2hbZ77/ 48Oc/dj IXscnoRnz0zmbXq7bS6aQhBMpvJXISMFAc8hXiz8Q87MK0EKcRLUE/B01APmZ1NxwUtF2qQmoHY7DAcB7oNdbQmhDKZi0iYknL4uUnGXWuXPYMCZ2B2SNmcu4F1LtaSLM mS/8qRZL9fxYy0/jzPd6mdxF893 d5ItP tC8AAAAAANBx/0enAwAAAAAAAAGSdAAAAAAAugRJOgAAAAAAXYIkHQAAAACALkGSDgAAAABAlyBJBwAAAACgS5Ck AwAAAADQJUjSAQAAAADoEiTpAAAAAAB0CZJ0AAAAAAC6BEk6AAAAAABdgiQdAAAAAIAuQZIOAAA AAECXIEkHAAAAAKBLkKQDAAAAANAlSNIBAAAAAOgSJOkAAAAAAHQJknQAAAAAALoESToAAAAAAF 3iO50OAAAAAADa4X293 kQcEhdvnxZL8 93Ja2SNIBAAAAHBjlcrnTIeCQ fzzz9vaHkk6AAAAgAOl7//q63QIOExutrc55qQDAAAAANAlSNIBAAAAAOgSJOkAAAAAAHQJknQAAAAAALoESToAAAAAAF2CJB 0AAAAAgC5Bkg4AAAAAQJcgSQcAAAAAoEuQpAMAAAAA0CVI0gEAAAAA6BIk6QAAAAAAdAmSdAAAA AAAugRJOgAAAAAAXYIkHQAAAACALkGSDgAAAABAlyBJBwAAAACgS5CkAwAAAEDPmNWgIjv4Z1Ze G3p1NrTrtKFVNEOSDgAAAADYg8YvDtrzxcBhRZIOAAAAAECX E6nAwAAAAAA7F5KvnL73EdCvvx97gMBRtIBAAAAAOgSJOkAAAAAcMB5G5abG9TshqvSTRaec5re PxjOOg8WlLNUrGvHkll3dZpl5naAJB0AAAAADjhD87LrjhRl1SXPjtLKN9xly1XiBUSHWiTpAAA AANDD8ptswJauXmVoQgWlGu5Mhmm6o2RDip5SQRMy9j98NCBJBwAAAIBDIaFcQ5ouJTWoQSUbjq aU29YYerCgnK143VFbrvyaf7bXFgIk6QAAAABwaOTkNqTUxYYZ5XG5 75aPFojSQcAAACAHpaqG7X2G8awNzL0QIWWrdmap8i9o0jSAQAAAOCQSWwoUZekuGzmoXccSToA AAAAHCqeZjdsmyYFK77PhpuroVNI0gEAAADgEPE0LqvlWUsmu5p3FEk6AAAAABwaaZkNY ipJiu p7UXi5phPH7XSNIBAAAAoIdttk96pK583VG6YTd0qaCcchsWkstrULPbjuAVvVb3vqi8zLrd2hm b3z6SdAAAAAA48DzNKtmQottywx3MEyo0jKfvZH56QpNNlqHD7pCkAwAAAMAB58hsmIfeuJJ7Qr kNZe/bn59u6IFc2Uo1XTP xI7jPcy 0 kAAAAAAADbNaEHmtjxXYZ8 VtelWuxs3qQhG91v6EJ5TTRogVsFyPpAAAAAAB0CZJ0AAAAAAC6BEk6AAAAAABdgiQdAAAAAIAu QZIOAAAAAECXIEkHAAAAAKBLkKQDAAAAANAlSNIBAAAAAOgSJOkAAAAAAHQJknQAAAAAALoESTo AAAAAAF2CJB0AAAAAgC5Bkg4AAAAAQJcgSQcAAAAAoEuQpAMAAAAA0CVI0gEAAAAA6BLf6XQAAA AAANAun3/ uXSz01EAu0eSDgAAAOBAuHz5cqdDAPaMJB0AAADAgfDy3MudDgHYM akAwAAAADQJUjSAQAAAADoEiTpAAAAAAB0CZJ0AAAAAAC6BEk6AAAAAABdgiQdAAAAAIAuQZIOA AAAAECXIEkHAAAAAKBLkKQDAAAAANAlSNIBAAAAAOgSJOkAAAAAAHQJknQAAAAAALoESToAAAAA AF2CJB0AAAAAgC5Bkg4AAAAAQJf4zmYn3//TmeDF9370ImLpfX/6Q6cjAAAAAAD0sE2TdEnS936kcrn8AkLpfdc/ L819 4/dToMAAAAAECP2jxJDxP07373uy8onN52 vRpXSZRBwAAAADsEnPSAQAAAADoEiTpAAAAAAB0iY4m6fesIzpy5IiOWPcORD8AAAAAAOzF3pL0 b Z09kiYANf kAwDAAAAALBjbRpJP6XrXz7X8 e3dUmSbl7U2blvtrzrrP1cz58/13P7bHvC6HA/AAAAAADsRZvL3c/q/KXg1Rf//jt9IzUZbT rav5 zwqPWbpX9379p5rsb9ZO9Zwly2pyb20/W13bIo66/gAAAAAA2Af7Nyf9VVPHv5nT2den9IUu6fbzykj7F5p6vUnCe8/SkYs3pVPX9eXzYOT7y ungnPbbuemdP65nn95XackfTGV3iSxbnFtJY66vgAAAAAA2H9tTtLv6c7N4NWl82d176MpfRG8U VBoXhlp/0L//rv67Nl1HwUvvpjSR GU9uOX7 ne5eM7aOeSzp VdNzUq1vG2vzae sPIIrjAQAAAAAvUpuS9C809foRHTlyUTclXbr9XFtN//7i6/ oe29e/nl1xPrmxfUy863WoGtspzGuTU9vcu2pV3643RsBAAAAAGiLNi8cF/xUEvQfvnKq9R0bkuCzssP7KyXoknTzzr0dtgMAAAAAQG/a133Sj//kp0GyffNOsDBctRz lH76k N117pzZ9cXbzt WT8Ph9VPvfLDHbWzV2fDle/WF75z9aitPQAAAAAA0Nx39rX145d170vp7OtTungknOutU7r 5T1dPi6poRT9i6nXdWRq/f2p61/q3uXjkrZop52rrp 19eX1R3p9akqvH5mSTp1S63F8AAAAAADaJzLtT/utTr6v91Uul/Xd7373RcbUXaory9d8KdDC0tKSVlZWNPfuP724 AAAAAAAB8a lrv3pnuyzs5VB e/ d2/ByvLn/qp2lxZDwAAAABAnf0td 9VX4Sl7hWnruvLe5dFjg4AAAAA2E8k6RsEq8zbnQ4DAAAAAHDoUO4OAAAAAECXIEkHAAAAAKBLk KQDAAAAANAlmJO H773o05HAAAAAADoQSTpbfav//qvKpfLnQ4DAAAAANCDtpWk/4/sl/sdx4Ewqr Xsl/qf3Q6EAAAAABAT2JOOgAAAAAAXYIkHQAAAACALkGSDgAAAABAlyBJBwAAAACgS5CkAwAAAADQJU jSAQAAAADoEiTpAAAAAAB0iW3tkw4AwH649YM/dzoEAABQY3x8XH b/n2nwzjUSNIBAB21srLS6RAAAICkqampTocAkaQDALrA3Nw/dToEAAAOvXK50xFAYk46AAAAAABdgyQdAAAAAIAuQZIOAAAAAECXIEkHAADYV09lpy8rEjmjSOS M4unb8vRUdvq2vE6Htq9WlA6fORL5UE6TK5z0mernUvcTv6y083Sb/TyVHT jSOSy7IP9gQI4JEjSAQAA9s1T2fFRZVZ/rIJ7X75/XwvD0lhkVJnVTse2Td5t2c0y7C2dVq4wtOkVidx9udkTwZvY23L9 3ILQ1LpsfLJUcXt7SbqAHBwkKQDAADsF6 oxZIUG4krYQSHjMRFFbdIXrvHU9ljH vJbm83v6fYDm8xEv sbHhTabG4jWqDY7KK9 X7c7KMnYcIAN2GJB0AAGCflTL/UlnfhnZaOdi2e7nPSoMqVORwEAhwtJOgAAwH4xLupqSpKC8u1I/EPZzlNJx2TlLsqQ5Nnr89XTTmV df08bs/ UPHaOdvpFa3PxQ6uTVfnvV9WuqE8ve7Idy6oan6 fMR JBv076spL54Ip8cpN4GttzKucuKz3zpx1/ZJ7z2 oXA6mrwWfUfF5/JZbaz2 zz6v587Zsy76tdPj5UnYP4EUiSQcAANhHidwtZVPhvOvSsjJhsl5JbA1rXKnq1cdkXW0ohfduay yzrGghmNPuFt5WbPXP8nRM1sLbYTn5sjT8C/n B0rpsfLJ9UXUPPuyzMyylL0l37 lQnRZybFKYhrOmc9LWTecH15a1pLzVIncL6pl56nCffn O0ps2d6K0slllTSkgj nyYFvtO2B NLHMiNnZCaXpdgJpQq3lEvUxnhcWfe fPcDRfMfy4wHfdZ/fpt9Xttpa/2Z80/ XpPhv4tS5rdNF74DgP1Akg4AALCvjsnKzcktvK1UZYJ2aVlJs/mK5xsYf6 opHwyXPE8cVHFYmWEuWJIw4ljkvo0EJOkx1pcfippRTOZx5KGdNU6JumYzIETUuljzTiSKqPWsR 9ryJAMa06 f1 5xLEWwWzenmfPKy9JqX9UQpIx9OPtz0kPF47z/fvyi3PrMVRj/J6GDElG IyVZ9jJ57WDtlLDp8UUdwCdQJIOAACwX2pWRjcSF5UrBquXV0a/l7aVpZ9Wzv1A2ZSUT47KjGy2Pdkx9dfOdff rNWwr2RYxm1mHkuSVtd2UcLd7va20 XaNy3PNe z9ee187YA4MUjSQcAANhHi9fq90M3Eu9oobLt2HYZp2Xl5uS7HygVe6x88l9a7An VGu1W7uFo8rSiaC821//KVo1o Wl32t5O3uMb7e9ann53hn9x1uei/a3GPFv8Xntqi0AeMFI0gEAAPZT6WOZdYurPdXy4mMp9rYmE9J6iXpgw2ivd1vxyv3GaeWuDjUpI Q/mkUtlPSlJ0gmNDB2TdFrD4cJ1mbHbYQxP5dgfBkl dbuzx8rMrASJtXc7XNyu1opse2XL9qrl7aU/yZXkuX/a/pz0Vioxlv4k15PkFYNnrH5 DTb7vHbaFgB0QGTan/ZbnXxf76tcLuvzzz9/kTEBQFuMj4/rb9O/73QYHfX/ZV7vdAhd7X/ z/ n0yHgoPNuK70cV26orPTYvPKloDQ8lnpbC7n1eeWe/aHGMssq6YRSqePK55eD67K3VBwqKr0c16R u35N9hfKWceChNT8WCUNKZv9RpnMY0knlCrMhYuuSdJTOel/UTIf9K3YkLIL76zvKe6tKD32rvJhcl9tW5LnfKix5LJKsSEVisHCcVu1V71HJ5TK/lirmY9VqjyLVT9a7aTPVFeQD5xQ1m223/mK7Pi8MjWf39XJi0oYlYXsKrG8LXdBmmn1ee2kLZ1QLPZYpfBbhmbxAwdNufxD9fX1HfrfnzptW 0n69evXX2RMALBnU1NT/CUjkvStkKSj59Uk6QW/kkQDwO6QpHeH72znopfnXt7vOACgvcqdDgAAAADYOeakAwBq3JN15KzmWi ADKBrPJU99nE453tZycg2t3QDAHQ1knQAOHTuyTpyREdqf6x7Lz6Mb Z0tjGOmp zfFMAbOGYrGLtCuuUuwPAQbCtcncAwEHxjebOXpRuP9fzs5Vj92SddfWNzqr15kT74Phl3Xt eT2GI7/WK1/e0 UXGgQAAEB3YSR9H7npaU1HmvzEb gz59keWn6mUnxa05EbKrVrE9INXH0Wn9Z0vKTdRfpMpfSN6jPfSJf0TM9USlfaexHPAGCDb36nf//iks6frT14Vva9y/UJ u s5iPadaPflbL4bzR3tv66e1b9 2/mzu5 tL5pn1K1NH9u81g7USQAAACwWyTp 8jMTetKti94EzunK/60rhROSqWyHiY/0g17B mvV1Jpvyea1fbh/VV/KUkq/VX/teOGnqkU/0h3V1/VqDutaX9abwxLn0Y 0t3VtkYMYKeO/0Q/PXVTF8/OqXUx Rea vq8nj9/rue3L mLqY8U5Ln3ZL0 pVdvPw/Pvaqp1y3d03H95Ken9MXX/xHef093bp6Svv5dtY// PoLXar/ZmCbWvXZKtY08 kBAEBPI0l/wY4mBnUuFrwuL65tc5T6mUpjd/XX9VYUK05r2n9TsQ37iO5WQx9Gv16NSYq9pL/baVPemh6VpL6RfplhfEcTMb1ZOFlz0X48A4CtHdfle1/quqb0etPRaUk6petXwoT67Hld0iO530i6d0c3VTMKf/a8Lumm7tyTjpuvSo/cICm/d0c3L/1cuVe 1u CA7pz85Re eEuwt2kz axfqHqdwXHL ve8 eyd/PdAAAAQIeQpPcAN/2R7pZedB9H9VI0SLSP7rLNcubT rL xKDORfcQJIA2Oa7L98KR6efP9eV1NYxOb LUK1rPtX oV06FL8 e16UvvtZ/SLp356YunT r46b077/7RvrG1aNTP9VPdjvXvFWfG2x2DgAAoDewcNwL9sx5UE2GT16N6aikZ85n vTaQ5UrSXLspEaLF2RKctM3dCsfHH6YnNZDndS57F90NxNsAn2yMK0L4VKuz zP9GnmYbA9dOykRhcuyDSkZ/YNfVS5PntOWryrhyWpL3tFb1pHm/Yx6l QOXxSf6xJ0eval6TUqKZz5saHNGL6UequbuWDsv6HsZM6d3VQscRRxXKxsK2amMJneOaU9Om1u ufQ0XsnEZHHunWJs wo/gA1Dlee6NPVrud9IZ7dKpMNEPLjsP/T1F5UTZ3X 0kXduXdeunlJ521JOq9XL36ke6akn17Z/aJ0LftstNk5AACA3sBI otSuquPItP6KPlQivXpZOFKmFy7Wrv2UGWd1Kg/rdGUpNJD3Uq7kiQz90a1PP5kYVrT/gXFrB/pZEPzQdL7UMpe0bR/RaPRh7o1FizSdtRab Phk5c0eDW4u5x5ILdFH6YkJS5UvwCQV9KnmYd6uRDMMb9SOKe 1b 2LNc3c1d0LhXOxy891N3kR5qOfyY3XCTuaOMzeCV9mryrcin4HK5kw7OpUU0XYzK3eIadxgccWt/M6WzjSmr37ujmdka6w1LzX1dq4xtK0X/4yik9 vWvdfPSeQWHzur8pZv69a8f6VVzlyn6Fn1ueI7acywcBwAAehAj6S9K7JyuFGNNSsdNxYrTCvNP PRvok9bHgrfJ1YNMWdJJ/SgcVf67gT4pf1cPnNh6oi3p5LCpo/rjzuM3XtLLkh4mb0iFNzSYiOnNTTdjPapY7k31D5f04Fow6q3SQ90yFYzSN1z9bPlRWAEQzIE/2h eyP9Rbs6su77pM w4PuCQOv4T/fTR6zpypPbgJd1 fnkbI91nZX95XWdff11HpiTplK5/eU VnPj4T34qTU3p0s/XM iz5y/p4k3p57ueF755n9IXmnr9iKbU7BwAAEDvIUnvFp6r0swfaxaH28m9f9VfJEkPdSvysO7UX9aeSW 1JVk1dcEf10swfdDf5kR6qTycLb hCosmMda kkhtTLBEsGHchEdOg85k TT5UWQ/1R eCzIaYjg69qr5MWeXKavJr4YltL1y3g/iAQy2Yj3655fmzsp fbf2 bm/zxqabnDtr6/nz7cTV2O8W7VYFiXnTvdU3vQ8AAKA7kaR3gcqc8HPumxpcvqGHW99SLxxFLqtP59xmq6W3qejbM BXLmYpNuvps7JYeJj/VS037kx5dK6k/sV45cDRxQW9k/1Kdh76x7ZjedKXPxu5Wv2joS43qjZy5/YXrdhAfAAAAAHQj5qR3mlfSH/JlSS/rJT3T2uJmpe6uSrbb5Lipf0hJUll3x0rhvO9ncu3PVPJ2GlCLPrySblTmlBumLlw9qb7Nmind1U c1c9BVebbYOQ02Hdl/ptLMI lqMKd82p/WmztJ0HcaHwAAAAB0IUbS95Gbnq6umh4sHPdo40i38ZJejknl0kP9YeYf9MbVk3qUfKjy6h9V8k zFjKPqD489vPZHjRYv6Jm9Ptr 8FpJg4mYzNwVjepT3crf1S3zrhQ7qXMLFxQzpGf2p9UV5R8mb gvscoXAQ/1B3tQprWxj2ZeHhnU3y1/phuZhyqrTyezb7QcpX45e0VvDv2XPhu7oVuloL1DldyYUr2tt/qH8GU3qUL6ucn66vJAifo395i2cY2ll8wGHx3//933u6//r16/ro/7y46/tv/eDPe p/K2duvi397yUt/e d3zs Pt7 gAAAAPYoMu1P 61Ovq/3VS6X9Zu 37zImHAoPZOb/lS38k0qCdhKDbvws/LP1NfXp79N/77ToXTU//umqb6 3dWVzM/Pa2VlZc9J srKyq7v3y9TU1Ph5/KHTocCAEDXKJd/yO9PXYCRdHQH54Fu5V9uqDR4plL6I93tZFzAAfHtt992tP 5ubmO9t oXN7pLhoAAAAvBkk6ukNiUOdSn qROb2elMf6dHJkVFcsRtEBAAAAHA4k6egSwb7qsVyn4wAAAACAzmF1dwAAAAAAugRJOgAAAAAAX YIkHQAOsSNHjnQ6BAAAANRgTjoAHFKVBP3IkSN6/vx5h6PZIc9W3Hyiq35OiU7Hskfz8//Z6RAAAPtgfHxcbPWJ3SBJB4BDqHEEvdcSdWcmo5JSnQ6jbbpxL3kAwO5NTU11OgT0MJJ0ADhkWp W490Ki7tlxmZlSp8PYF922lzwAYPfK5XKnQ0API0kHgEOm2xPxzRhWUb5VSdY7HQ0AAED7sXAcA ABoL89WPG7L67W2txeA7HhEkbTT/LSTViQSl925AAEAPY4kHQCAHuPZcUUikepPnIxwc21M7D17TJloQX6ufslCJx1RJG7LS TkF6LKjHXyiwQAQC8jSQcAoId4dlzm4ohc35fv /L9gqIZk0T9hXA0k5GykxsT9GtKKVY5kJhUVhnNtBhsBwBgMyTpAHDAzc/Pa2lpacc/6EZhkrhgyageSyjnZqXFZXnhiLGdjigSScuRglHkmlH3SDiiXD8aH5Zn190f/FSruuvaqWk7nlY63uR6ScvbbacxnrgdPsvO2m76TPJkj2VUKmVkVqoO6mJYL03fEMOGj39J diIhtY/fHl2XNcGXBUnB2ouNDQ0EtPqGl cAAB2ricWjiu/xeqIB1nfJ317uv/7899vUyQ4SD7X58GLH3QuhvHxcf1t vedC0DS9evXO9o/2sxb02psRJNGw3GjX9HSklwNSKWMnlz15eckyVHazCha8FVMKEhOx8JbwkX4JAXzqGccWZOqv99 JK3LN1mSiXzM17Xh2XGbakT8pqbSqAdeXb4TXJ9Madgd22M6axjJRFfyiEpKcdDp8lp20bTV/plxC1kJWi2PSQtGSIUfpyBNd9X0lVPlMbA0tqEkMUu1H7a2tKjYyWT3m2XGNaUFFy1BjRm/0R1VaamwBAICt9USSLkmf9O0tkUN3eqtN21OwxzC6Tbfsj7rXOEjye1Asq2o1trem1VhWC4km13 m24mZG1Q3tYgNBnll7vzkQlHA3tGMMjSiWWZIzOSDVjiwnhpXSNa25AztrJzesqDJKRqSCn1Mil 5M8W9d20nbLZ0rUp8nemlaVVz6SrzmYkms0iWFTnpYXSyqVTEVqdhow45JbtGSYA4qtrm3sHwCA LfRMkg5shT2G0S573du02xLbvl1 yTk/P9/mSPaufp/0kpKRvKRUkFR1MrAXxehXtHRNy54lq36IV6uxAU02Xu8 UUkDjUfDZHZRI66voqG6EfbOSCjn 8rJUToSUVIpFdwmcW9mJ88UywaJdGMUjTFs t VIavoqzJwX lvodKu 0Sl6DAJOgBgx5iTDgBN9PX17ern888/73ToTX377bc7/ulGhlUMF0ur/TkkCbokKaHJrBpWDg9K2jUytDEhTAwrVVrUcrOp0TWj1N7y4vroczNGv6Kl9YXQvOVFlVLDGz/3ypxtc4fteLbStqcgWXeVja1qzd1h21s9U mJ3CYxVDWLoVkJLytlZt99ZWFRvYLFgAAJojSQeAFg5KYouDxbCKckcWZVYXPktKBT YF71BQrlCVBkzvLZSCm5YuhrNVNsYexJdLxlvKlicbjUZXG9moipUtiArrbcTSUqFJiPUW7Zj9E sZM3weU4sjC7LMHba92TMZlq6m8kpGIorbZl0M1UXimsWwYah9ky896gSl8NF xtEBADvXM Xu9o1pZZpVoPb1KfWjN5Qzj7alH ezG0o lLJX3tTQ2g2Zd8uS pS98qas9nQBAMCe1C2QVn9CxWLDsUROvh/Or3bSiiz1y5Bk5CqLy9Wru7 2PcNSsVmnzUrHG PYsp1KuXsNb dtt3omSUrUnWv LBti2NiKJrPXZIYL0tWpjcuZUUZZuYenxAMA0EY9M5JuvTkt99zJ4E3fObnT03JHzylWLit/6yPFS8/a1NP6NwFG7A1lWa8OANDDnJqtyiJJrY AY1cMa0HZ1aQi6RaboDtpRZKrDdvkAQCwfT0zki5JxksN782Yrp68q RDqfRoTV4stue/EBMXpuVf2GMjAAB0icQmo8t71mzkvhfa3pOGBeMaJXLy/RcZDwDgoOmZkfTtWP5sWpHpaUWmP5OjZ7Jv1L6XnJrz6c9uhK9vKB0uTuOV1o/Z7RqYR5fxNDu4Pqo0OLtxYqE3O7g 6jQ4K0 SMzuoSCQtZzurBbXQjjaAdjhy5EjLHwAAAHRWTyfpnlvStYfB69SPYrIujCpVPXtU1hvn6hbCSV TPP5T 4Q3506NKqaz8rSCJp7z9MDA08cBXIfwPpbh4p2GVXk/u4/BlqiD/wQTlijhwnj9/vqPjOGA8W/G4va0VyruLJzse2bzMPBKX3XsPBgBAnd5M0st3ZU5Py7x1V o7qezoFeV2tMvJSQ2bRyX9nQb6JOmhlhq3esHBdiKlVFxScVF3an h81x9fWLj5YmJB8E2T3vI2NvRBjrnoI0 NybkJOg9xkmvV/xENklcO62NXwh49pgy0YL8hjn1TjpcnT2Rk1 INmxPBwBA7 nNJD1cOM6fnlbxzQuydr2y 1H1vxy8Wv0r9e2HywkNj8QlFbVYk6V7rnS 4cr18vdBVavjvVmlK2Xzg2nVVs076Zpy UhaTos2ml2H7nUQR58rsffyMxxGnh0PFoCr2Su oKUD/meIo5mMlJ3cmKBfU2q9ai4xqaya7IEOAEAP6c0kfR9EX2J/tcPGPD iuKSiNRP cuvJ1caSDGNiXna89oijtGkp/5ot1/dVeC0vywyTbCetZF6yXVW6hOv9jQRovr0N0O4ujzQXiGw8XT8qKUdXOqTVcTueC9Z8drvvwLS7/D0YYZC MAACAASURBVGw7XfuF4BPNxBuu2/T tNLh9WknLDuPRFQZwG96nzzZYxmVwr3O47YXtLXhuob7m428O0vKx0Y0VFOJ5NlxXRtwVZwcqLn Q0NBITKtrjKUDAHpXTyXp3l 3e VftPZM8tYeqdT0/EMtuc8kuVp6KAXl7 2JET3EOK RuCTlteQoGEY3t1GL7iwpLyl 4rwMSeaJ Hob5gnFVZQ1npajhHJ /S/SVdu9Dl2H0Wd0lLesxVJU/S3 qDKsYnV03S9ElakMKZcyejLsB1NuJKm0qoGF4Do3q2qJeOv7w sLKeWTY1Ll9bXN7jNkLWQVi2Xl r6Klqu0 URXK9e5I1ocs V5tsYy0WplQCH6RI0z0Ly1VcVGhqprhHh2XGNaUNHa EEY/VGVnjCHDQDQu3pmCzb7xrQylS3My3dlTj9S9sqbsuoGwE1Nnjup1bsPlfnohp6ce1kxlVXSQ10r DSpRrYc7qYG/fqrIrbKkPqVGLwQjEKVPwz7KynxaUv rj reD7259y3e0E0MnR JyyoWlV9yNDksmdvIlL2vv2p6/KuvPSkxoQeulB63lDS/UsqeV26iyX81xjavQ1ciQd ZqakplcvlrS/E9sQGmtT8hDxbcTOz/gV1bCAYlY5lVVcpXjMqbQyNKJYJEmOj5f2V6wcUiw2sv96030T935nemlaVVz6SrzmYkmsMK6qM khGp4OeUyG21X5yn5cWSSiVTkcz6UTMuuUVLhjmg2Oraxv4BAOgRPZOkW29Ot96TtIYRu6BirGa j89rX q/qq/7Ym/Jrl36XZGw4FttwDQ4W4/yI4lZRxfyvNDM8r5y05YJDxiuvSdq4ee9rr1R 451Q7sF5Dc OK2mZ0iu cs2S/ 1eB/Sw8fHxTodwsBj9ipauadmztGEQ2bMVNxc14voqGuH7sR20vdv7d3JfLBsk0g2HE76vnBylIxEll QqS9ZYdNuxTHva3UGnXfaJSdJgEHQDQs3omSQfa6vHjYNTIOK RuKViUToRlrq7jzcm4HUSw0opr/zjO/I0EV6f0nBCwYrLS8NycwklJt5Tyko2b2O71wFtMD8/37G /zb9 03P3/rBn7WysqK5uX96QRH1uoQms9dkmmn11ySyTjotTQ7UjZB7y4sqaWTLFr3lRZVSV5XQmq7t4n5Jm/dbCkfpjX5FS0nNOFb9F5KerfTykHJWQjnf1UB8TGue6nbCMPqjKl1blmdtTPA3PM/aqmIDk9uLGwCALnSoknTns1sKiuweKjktFaYvMA/40PE0O2jKKkrKB6WV50fisjSi80awUnCyUomZTyryla3CyGJwvYqyxmd1/sGEcq4tjVsyI5YUT8muWcQpNWzqTnpQVr6oeKqgBwnJmx2vb O95tcB7Xb9 vVOh4A2M6yiXMVlRiLrB1MF UZCikZkhjXgsVTNqueNSpnqdcHodkJSQle3e399QK3vMyxdTUWUjOQVy7oqulnFzYiqkceycov9 Uma9dD2WdYMR VqJYaWSLSoI6gSl8NGrjKMDAHpXZNqf9ludfF/vq1wu6zd9v3mRMW1QfqusT/r6OhoD9sdb5bL6Ptnbv9vvz38/HImba1NUOOzK5bL6 vr07bff7vjepaUlraysaGpqSn19fVuOJB92jKRL8/P/yZ9h2 DZcZlPrm7YJ72Ok1bk2kDTknoAeJEqv0tIf h0KDtSLv Q31 6QE t7g4AAA4nw1pQdjWpSLrFJuhOWpHkqrILJOgAgN52qMrdAWC7OjmPG0AzDQvGNUrk5LesDQQAoH eQpANAA ZxAwAAoFNI0nEgsA8z2mlqaqrTIQDdoXF7s61vkB03lYkWms8dr5Sku8UtFoADAODw6pkk/S0SMLTAPswADhvPjsvMlKrvY1lXxc2y3q2S7R0n4626GWuaoDvpiJKrWbnFnPxCWpExW0Ms7gYA QFM9kaTvdfVvHGy/1C87HQK60M/KP2N1UhxInh2XuTgi1y GSa6jdMRUXJsk6oalYnGTRrc6vy2OZjJS1t2YoF9TzbZsiUllr5kb90sHAACSWN0dAIAeEibCdS uYJ5Rzs9LisjzPVjyeVjoeUSQS/KQdBSPlcVuewteRyvm0HG1y3syoMl7v2fFqm5HKtXWhLSkfG9FQzfcEnh3XtQFXxcmBmgsNDY3E tLq2oQUAACCSdAAAeoe3ptWGRFiSZPQrWnoiV5JKqxpY8OX7vvxCSvlkmIhLkhylzYyiheC8m11 Vsm5Ls/rzvpsNRsA9W2OZqAp cLwQDfuqC21VsZGh6pcHnh3XmBaaju4b/VGVnjS2AAAAJJJ0AAAOltokPjGslFa1VsmHvTWtxrKaDMvMjaERxfJL60l8w/kqo19R5ZUMR94TuZw2r1T3tLxYUiljro/IlzIyKyPw5oBiq2sbR MBAABJOgAAPcPoV7S0qOXG7NZb02psQOa dZxQzvfl 8Naqi2Tbx2orGI4Gl8ZkY9l5VYWi3OfqBTtZ E4AACaIEkHAKBnJDSZlTJjtXPCgxJ11ZSar58K54lXsnejX9FSRjNhhu0tL6qUGl4fFW/4EsBbXgzmpHu20ranIFl3lY2tqnFKudEfVWlxeVuj497aqmID /eVAgAAvYwkHQCAHmJYRbkjizKri78lpYK/Pve7lFk/l5QKxY2LzK0mg/NmJqpC3RLrCeUKUWXM4PzYk2gwJ93olyql6xFTiyMLG/c5Twwr1WyUf4OgFD7azzg6AADN9MQWbAAAYJ1hFeVbLU7WlpWv37C xZphqdh4c 35RE6 n9vQbM73tfForYQms9dkzjiyGvdWq23fmVFGWblsvwYAQFM9kaSX3yp3OgTso75P vZ0//fnv9 mSHCQfK7Pgxc/6FwM4 Pj7NOOQ8WwFpSNm4qkC/KbbYLupBVJrirr5piPDgBACz2RpEvSJ32fdDoE7IO3ym 1pZ2VlZW2tAO0y9TUVKdDwGFUO2LdmQBkFX21GuQPRulfZDwAAPSenknSga3Mzc11OgQcEOXy3q p3rl /3qZIAAAAcNiQpANAE319u5uGMT8/3 ZIgDbybMXHpIXGOesHtd994cmOm8pEtyrpL25cXA8AgG1gdXcAaOHbb7/d8Q w7zxb8erK7hHF7e1serbD9uPhFm 1r3tVm5/Hs8eaJuhOOqJI3JaXyMkvRBu2yQMAYPt6Jkm3b0QUmW7ycyOutLu9vwa9Ujy8Ly772T4HDABA2z lKm4sacX35vi/fLyj6xN2/7gxLxQMx h3a8/M4mslI2cmNCfo1pYLt6iQpMams1vejBwBgJ3omSbfe9OWeSwVv rJyp325o1nFyiXlb5mKl7ZO1I3YgrJ7W0gcAIAOi2p9i/GEcpUR3boR9riqA y1x82MStXD8epo/Pr1nuyxjErhXuvxdDoYefZsxSNpreecjtKV9636bWI5vV4BkHbC/uKV15V247IdW/F4Wul4w/XhSLi9oZ3GOCqxtnieal/17dR9Js1G3J0l5WMjGqrJ8j07rmsDroqTAzUXGhoaiWl1jbF0AMDO9UySLknGSw3vTUtXTwavS4 WKSsDABxwCQ2n8kpGIoqka4dpHaXNJ7rqhyPs7ogWx2x5cpQ2M4oWKsez1dFewyqGo/F UJ4940gyZC1kFYtl5fr euJpWLqaymup0qWzpHxqWImW/TZRyujJcKW/lPLXbHkyZF1NKV9p2FlSPnVVlimptKqBhZrrk2Hi3bSd ud0s6tKpjd5Hnmy40mp8rn4vnKmrbFMVIXwfSH6RI01Ct7aqmIjQ9WReM Oa0wLKjaZfG70R1XazyoHAMCB1VNJ laWP6uUwaflyKspka/99r eV0orXlc X//LRd35G63bQa/wNDsYqRk9qvkZTGu2Td/0eLODYbuDbWuzHTE4s4PBCBPfaAE9K5ELE8vhpeD/42lH8ta0qjB5r4yYl57I9da0Gstqssn6ZnUjz8m8tLq26ZfdieH1ZNpZWg1Kvlv1q/pR6fjME6k2DnOgpjR8WKn8khxJzlJeqeHwotoR68SwUlrVmqvm7TQ8pzE0oljYZlPeshbV8LkY/Yoqr2Q4Cp/I5dTsY6tpRMuLJZUyZs2zZ2RWRuDNAcW2 EwBAGimp5N0z7V17WHwOvUjS9aFglLVs4asN9ZHDJpzNHM3L51z5VfK52vbL8Vl3s0rOurKn3ZV eDmv5A0WgulthiYe HLtuCQpbrvyfVcFOy4V87LM9nwRY0zMK yiY7ohBgD7KJGT7xeqCa7C0eLq6Li/SZLp2YrXzm13t/r7UsE869UlOXK0tFqTQLfot3akvr4UfEPDGk7lteQ4WsqnNLx5ZryPEsr5vnx/WEt1JfOtBHvCV5/bDUfsK3Pe3ScqRfsPznx AMAL05tJejkjczoi81ZG6kspO oqZ 6 udLdsWDxOdNS8c3KgjKOZu6WJKU0bBqSDJkvxaTyopZZdO6AMZQ4P6Ign/1KX7flWxhDr7zWjnbaG0Ni4kHwCzS/Ne7YkSNHWv4AL4xnK15b5u6taTU2INPoV7TUZKEyo1/R0qKWwz/XvOXF6pz02pHquuOSVNpY6h3Ms17VUnpJq5WS71b97lBiMqvVZFKr2cnmXyxU5oK3 ru IQ5veVGl1PB6W43PYwxppHFhN89W2vYUJOuusrFVNU4pN/qjKi1ub3qdt7aq2MAefjkBABxavZmkhwvH dO im/mZJm7zTgSyl0pKHtSyt8yZd5Ir6/6/mxNq5KkvJJhubt5tySppCf/1Y6HQPfw5NxZVFFSPPWeJgwF 9xWFxPyNJserI6qeLNpDVbL5OvL2avnBtNaqh6tX5xocNZbb39wNtwWaFbpwY1l9y372k58dTE0 L3/f7FlQ7/nz5zs6DuwLY0gjq8n1aTrmokYWLBlKKOdmtZqsmcITt UpoVwhqowZHBt7Eg1GzA1LV6PBYmp1xyvnwnnv8ZknDd2PaDUvXa3OwW7V7y6eKxbTSO2KbKX1 CJJqbDpquz1cZiZqAqVBfWaPk8wV7027rTbL1VK1yOmFkcWNu5znhhWquZLj9aCUvhoP9 IAgB27judDqDjjiZkXUjIGnSU/jSpzEer0pWirKP9ikoqKabslaKso50OFPuhaJmKWMHreKqg covdYlJ2fG8rKL01dfS5PBrsvKSPEczVl6yXfnn72jQtGSNz r8gwkZ3qzGrbyKqYL8nJSO5MNeEsq5tr4yLRWV0nsThqScXFtyz0/IkKO0aSmfKsif/1qDpqXFO5OaOO 27qtlfK1iCMvfF01ZxfDAZs/yYj7 nvP8 fO6kXMSdLx4QYm11fSUpaLf5EwiJ9/Pbbw856vJ4fCWFucMS0V/m/02XlPc5L0zo4xG5Nb 4VNbOr6ddjaJo nzNLve99XiI6m0pMnsNZkzjqyGfdLrYnFmlFFWbsdK9wEAvaynRtK9v273ylWtPZO8tYbyvUbPb MVvpOU8k3Q0odyPavY4VULDJyWppMwDJxwV8OSUbBaPO0Aqc9KDKelJmU3mIL72iiEj/CU3YQRzFh cdzU7E4y V3iV0fgTpoI5ljUnjQnN23FJef1q1pPk6I4mg7JzZ0n5yn3GhB74vh5MGNImfbWKz9wshkbbbB/1Kok5CTrQPs5SXqmrvbEfu2EtKLuabFhdv4aTViS5quxCbzwPAKD79EySbt IyLwbjgqWMzKn4 ul6VUJTZ5LKaaSMh/FNaNK V5e10qevNKYMmVJKinzaVCOF311UuZauIL7rVVFRxeqo aJC64KJ2PSw6TM6YgiN2akfmuL1V7RewxNPKgsOlhJolvznLQGzSW9MlmZxx5wHwdp7muvNP 1zAjnvRetGTnO19L54Drv66923FcrW8Ww1/YRIEEH2iuR81U3MG1YKm5a3t5J4YJxjSPpFYmcfL 4sVQeAIBt6plyd vNFuV9DYxYTsVYTbFa7WsV5TcsX5uLSVLDPeutKXGhKP/CjsNFzzF1Ii5tHE6O60Ttuj/erMaTQTl5Ql/rV7UthA189bWnpiuzGRN6L2Upmc8ruWTLbfhPrvjYlWp/Jd2kr1bxbRlDrW21DwAAAOBF6pmRdKCd3Mf17z1nJpyrHdfI U2SW/dxNY/3al5LNSPlj11JnpoNkCfC vPU8Pq8b2PivWAUP/ rYOE2z1F61tu0r1a2E8N2ngVAD/JsxXeyaNtOr 8oT3Y8snmJeSQuuzceBgCATZGk45DxNDsYUTIfpKRFK1jJ10zmpXhKBfdBuLp7JWkvyhqfXf8lN jEcJNRfLemOhpWKSyouBtv4VOad55OKDN6RXgvvr93jJzEpO964D3BCuUJKcRVlmRENzkiTE8bm fbWKb5MYvNnx ns2ax9Ad6vZ4SES2SR53Y79Ttbb0L5njykTLWwoMXfS4WryiZz8QlSZsV750gEAgNZ6ptwdaA9D Ew98TWx1WYvVkIP9c2tW/03UrwRsTDyQX218QhPNmhgZ3riuQSKnBxv626yvVvFtFkOi5njYyibPAqA7eXY82GLM96t/ljjptBwN7K7BxhXT223P7TuayUhZd2OCfk01C74mJpW9ZmrGsdRqujgAAL2AkXTgBXBmw33MnTv SeX57BLBbnpYXpaybq/uyL5Fbf7 crtn7uzLA7tmKV0feG3axqIx0h/9rb3l/WFZed33YZt114Sh33Ui6o3Skvn3Pjmx7qzpHxsRLVbqHt2XNcGXBUna7 YMDQ0EtPqGmPpAIDexkg68AIkaka3SdF7w/z8fKdDADbylrVYiupqq6UzShk9uRruCe6kFblmazLRrxkzo2jBVzERjsSnHfmTO7n/ia5WRu49W/ExW0MLDdfLUbqmn C6uuBlx5NSwZdf YPQsxVPRlXwi0ooqAhoWEJT3tqqYiOT1WOeHdeYFlS0DDVm9EZ/VKWlxhYAAOgtJOkA0OD69eudDgFoLTYgs W5rCYrCbA5EJSCe2tajWW1EB43hkYUyyzJmWxSHt/qfuWVj RrLkzJ1UD99Q39bOAta1EN541 RZVRMiIV/JwSua0m3XhaXiypVDIVyawfNeOSW7RkmAOKra7JU4I0HQDQs0jScSBMTU2pXC53OgwcEFNTU50O AWjO6Fe0dE3LnvVi9 GOZYMkuPaYZ ta7Xv3iUo7nhdfWXsjKINPKhUk6y2vD/Yor27JGo7WL1Ric5 oFB0mQQcA9LSeSdLfKr/V6RDQpcbHxzsdAgC8IAlNZq/JNNPqr0lmnXRaajYyLoWJfbK6oJq3vKhS6qoSWqtPsltpuL91aMNKJTf5AsEY0ogaFnbzbKWXh5 SzEsr5rgbiY1rzpETN/UZ/VKVry/Isa8vk21tbVWygWR0/AAC9oyeS9L5P jodArrYL/XLToeALvSz8s/U19env03/vtOhAG1lWEW5isuMRNYPpgryWybdCeXcrOJmRMEdKRX8hOStbbPHxvsVjKwvNLmusKSIGVGm5rq ayGUt1LeTKhSkzHrpeizrqtiYiW V/FcFpfDRlhP2AQDoDZFpf9pvdfJ9va9yuazf9P3mRcYEAHtGkt4bbv3gz1pZWdHc3D91OpSOmZ//z/AzmOt0KO3lpBVZGt6wt/lueHZc5pOrm7flpBW5NrCxLB8AOqBcLquvr0/SHzodyo6Uyz/k96cuwBZsAACgLZya7dsiSanQpg3LDWtB2dWkImmn QVOWpHkqrILJOgAgN7XE XuAACg yVyle3Y2q1hwbiNHctvWRcIAEBvYSQdAAAAAIAuQZIOAAAAAECXIEkHAAAAAKBLkKQDAAAAANAl emLhuPJb5U6HgH3U90nfnu7//vz32xQJDpLP9Xnw4gedi2F8fJwtTAAAALAjPZGkS9L/ l fdDoE7IN/ 7e32tLOyspKW9oB2mVqaqrTIQAAAKAH9UySDmxlbm6u0yHggCiX91a9c/369TZFAgAAgMOGJB0Amujr2900jPn5 TZHAgAAgMOEJB0AWvj22287HQIAAAAOmZ5J0p/ejmv041KLszGdGLqqX7yT0LG6a2N6 1ZRF4 1MxJHH55Jajnsd2P7nm5fNvXx4ya3nohpaHxB75w22hkQAAAAAOCA6Jkt2I5dLOr rayGJAXJsa/7933d iCrEyrp8XJSox864bULevvEfkWS0Dv3C2EczRi6OOfr1tup4O2JrG5V4nxc0vK7pi7f9vYrOAAA AABAD uZJF2SdKx/46HTlsYrGfM3a3r6YiNq6djfN7yvifPx75e7Jk4AAAAAQPforSS9iacrtuaXJSmmoXFLrSvbPd3 MK4zZyI6cyaiyx/aDYnyFuef2vrwcuXc0t4DX0mHfcV1 6kTtH15vc nt9O6HMZy5nJatRuM1Z07s8l9NedWPqwcS2tFnm5frn2/t3h6i6fZwYgikZqftCMn3XBscFa9Xu/gzA4qEknL6fUHAQAAAA6RHk3SS/p4NEgYR9/N6LFSevuDBb1zutX14Tzx5WhQJn roOPLGY1Wk9Ctzjv6cDSj5ccpfXDf1y/ UeGc9O1b/zJBwZcJpyerJfm/L0r//OPY rW34xr9OK/jH7i6f9/VB8fzercmlt9 nJfedmvK/Stanzv9Tm2JvqGLv6i9T9Ku4 k1hiYe CqEsxGUKsjPJZTINRx7MKF9XTnAmdUsyTMAAACABj2apDfOSc/r43fNupHfOk X9fvHkk4MKH5M0jFT3zsh6fGiik 3cX5lKUjKh4Z1WtKx08ObzElv8Dij0fDLBJ1I6e0P3IYvE0o6/veJYM79nKVjcvTbj0uSUvrH04YkQ33fi63HUmn24zF9uOJJpy3NzdVXEGx2bmu7iwc74M1qMLm4 790kJh7I93NKsE5hWxw5cqTlDwAAANAuPZqkrzt22tLcB EQ6OOMftusDrv8RM0WW5dK lN56/NP/7y6 wDDhePu3/c1N5fTxQ0ru8f0vdrtmJ u6RtJUl7vhuXlwUr1YaxK6J1bBb09JC2/a2r0clq3q8nyZue2a6fxHFSO0jXl74OznuSkq6Xws5Xy MFBDQ7WXFPhzSpdKasfTFdHzT0nrUHTUlFFWWbtPZ6c9GDY36DSThhFtQw/rVknrcHwfG1X6/cF1zmSvNn1tta7aB7TdvqA9Pz58x0dBwAAAHaj55P0bekbUPPF3sOEdKvzL9Kxfh0P 65UC1R qiPwxxK6 E5R928VNKS8Ph6Nryfjm53br3h6WT5ZTXCT doTCeVcW3FJUkrvTRhSIifXTqkwP6GJyfBc8TW9F5bPF63xMLF1lDYt5V z5fq Cq/lZZlB8mwkJjUSl6S4bNfXg4ngSxsnbSqZf00F15dfeE35ZHB9IldQ8BVUXo81qQeurbiKssbDOf NOWsm8ZLu fLdyrWRMzMuO1z5P65i27ANVjQk5CToAAADarbeS9KdrTY45 vDdMLs6kdU/N0scjw3pxyckPX6iclje/qfHkk6MhOXtm58/Fh8JkvjlJa1Ielopf98s1D/v7hGlhP5xSJJK vi3TnXO/MptO1is7amty5fTWnkq6VhC74yn1r9g2Oxc1ar /FR6WlxsUT2ww3h6Xaog3/fl zVz0iuMCc3bcUl5/WrWk Tojibry8fjJ2RKMk/EJRW1eMeTnCXlJcVPnJdRPZfXktMiBm9Wv8pLSg0HbZsnFN9wfUrDzerWzRNhQp2Wo4Ryfk6JZn 1sK6YWfaBOJTEnQQcAAMB 6Jkk/entuM6MZsLkeH3huDOjSS0rphNDBd0K518/vT2mjx H1/2LracydHHO1dtDq3p3NKIzoxl9M5StXq tzh8LSupPKK93z8T12z8PhHPSg8S1XrBy ujH4RcHjzMaPdNkNHtlpiHGdaffcfXBUExaTmr0TERnLs9IcUuV7x O/3hSfcVwtfV3V3X8gwVdPLbVuYTe2UTqikj0fj q2iYQKf1/xtb0/xHGTG RHFJRWtGTnO19L5rZNY7 uvmh7/6ustxqUro/qmpeJ2rpckY0IPXFsp5ZU0B5VuUaO 65jQFAk6AAAA9st3Oh3Adh27WNT9i3u51tDFd4q6 E6ru7Y4fzqnufu59fcXLTW/1NDFOV9bhno6p/u17TW0cfqdou436 CYpXcuSlJOcxdz2z8n6djFhuN11 wynoPOmNB7KUvJfF7JJVtuq4 o9pZXXpNU3HD8tVcMabMC8rgtd8Oq8u62Ysw9OK/h2XElLVN6xVeuYTh985i20QcAAACAF6JnRtKBTkkMB3XwqeEm27IVH8v1PLmPi5LiGjlvSIlhpS QVH9 RJ4XnUhreUIfuaHbWkYzzwTz1oqWZcFNzz0lrtlV5fF0TaUXSjjwZSky8p8aK/ZqH2GZMAAAAADqJJB2HjKfZwZpF4vJJRdKOnHTDscGaRdMSk7LjLRLauLQ0biqZl L2vIJ14IJF51JfWTIjESW/Ssl2K3PFDU28lwrnkS/plYlEcGy oFRcyidNRSKDmtGkJhKSk04qCCuvZHpWs NBKbyKlsbD0vbUsKk76UFFIkl9lSool5C82XFZwYXhAnCtY9pOHwAAAABejJ4pdwfaw9DEA18TG 4778jcrZR8Zbr4gm05o8oGvDbcaE8o9mNh4XJISOT1o7MxIKNeknUSuMa6JhthzwT2JB5qouc6Y eCC/8SFbxLR1HwAAAABeFEbSgRac2cFg33HnjnSeunAAAAAA 4 RdKCFRM1o9IYU3ZjQgw1D1ThI5ufnOx0CAAAADiGSdABocP369U6HAAAAgEOKJB0HwtTUlMrlcq fDwAExNTXV6RAAAABwSPVMkv5v//ZWp0NAlxofH 90CAAAAADQFj2RpPd90tfpENDFfqlfdjoEdKGflX mvr4 /W36950OBQAAANg2VncHAAAAAKBLkKQDAAAAANAlSNIBAAAAAOgSJOkAAAAAAHQJknQAAAAAALoE SToAAAAAAF2CJB0AAAAAgC7RyOdVvQAAIABJREFUE/ukl98qdzoE7KO T/r2dP/357/fpkhwkHyuz4MXP hcDOPj4 zTDgAAgB3piSRdkv7XJ590OgTsg3976622tLOystKWdoB2mZqa6nQIAAAA6EE9k6QDW5mbm t0CDggyuW9Ve9cv369TZEAAADg/2/vfmObuvM9j38s9T6vKNOuFDNDuzaUQJ80D8COuqW70oBN0M2tWlbddIhGUFtLK LsJGKb7aiuppcKJXdx2EJlD2iUXnK7otUsVwS7rNRLqm7s5kH6pBAKPjvDLY607TCofTwjnX1wj h0nsRMnceKfw/sloRv7HP/O9/zsju7Hvz9 2BDSAaACr3dlyzBGRkbqXAkAAAAeJoR0AKjixx9/bHQJAAAAeMg0ze7uHwc92uup8i8Y1FDGWrdaJqNB7fUE9fFqL5lJrL6Nmln178N1rR8AAAAANr6 mCekvZ22NpyPOg8Bpjdq2xm1bo mIlMtpLOzXUGa9qsnVoY2MhsKX6tBOrXx17sP1rh8AAAAANr6mCenVtIT69XrA fsPt9dnWHd30ta4ndXLvpW2YGkyGtZYPYtaheX3oVn1AwAAAMBG0fQhfSYzqLM5SYGIumNzU/NMIqpjpencUU1WO bxaG8woRlJk9Hic1ENRYPu38HSCPNMYva5jy1JmWjZ44yGgmVtJYJl1yi2YWky6teJlCTldNbv0 d5ocfja0sela3p0LOq0I1W5zrwp60OZ eetrg XX//ifW4GS8PtHnk8Ff61RzVcp 95rOF2t932urUJAAAAYONrzpCe61WXGwS7wtLreVvj2aR2l50ykwiqqzelp9J5jdt5nXompRPBY ujN6KPelHQ67073Pq1W93W7k2l1SJJSUueHGrfT6lBOY2EncLbEPiyNOkuSykahr49JrxxyH1gZ fdGbkyJpjedPq7XUhq/sGgGn9mRIzppxv86mnnGey6f1VKpXXcWaK10ncFqnSrVH9FxIUiip8XREHeklRvqX6sNl179Un5 vCp54JW/lEUJIUTORl23mlE0Epm1LMH1U9Vk34ekbkXgIAAAAAatacIT1wWqP5YjhN6ezg/FiV0Ue9OTnB1SfJJOgJS7pGzZqOZ072Fns7RQTOeyMbXMaaP4Wr9 FnCu88Wi6S2np7aH1BLLajwbU4svpD7b1rl 6ePBGtZuW2O6npMU2KGgT5LPve68mudfZ3copv92OiAppZGEc Lk7U71hZa43lJ9uNz6a xzM/kUOnBITqa oTt1qdenbbvq0Q5M8eijj1b9BwAAANRLc4Z0SfLFdK64CVoqPHfDM u2/uAc0IniaHFvTlJO/5qXpJD68mm9HpHGwn51BaOLTA336afPOH8tvl47oJ/55z4zkwhqr/ yftp/aOn7yd/SdMUDxZqrX6cl9mt1SJruHdSkldG325dK6K7F nC59S/Z5yazlLl6SVlJwchb6vFJykRL0 CjGUvD0XZ5PM4ouzUcVXtpmvzc6eylY 1RXS49m1G0bFp9 7A12377sIajxen27WpvLztHUqZ4zBPVcKZ43flT6C1lorPT68tWHyxaK5bnhx9 WNbzAAAAwEo0b0iXpFBSp9yMWZyOLknybddTkkrTse3Zf6URZl9ILyezGs n1aGUzvqXXsP91PZl7BRnJfT3vTkp0jlnGn5V/h2lKfdzLQzlC4X0XESSUjpx LZ WmNGd15apQ XW38tfW6gbMwvj8evcCyrYCStEXfqvkL9penqN 5IBzrdYXEro8FYSkrkZecTCiqrWPewLEmyhtUdSykbScue6JRSxauElMwn3JH6iN7q8UmhpPKJi NIjPerpd49ld mtCVvpiJSNdWvYkkLJtJy3J6Vp9Wti/jUlZaJ hVO7lM7bstO7lAq7U/YXqxUrMj QE9ABAABQb00a0m p4P5Vvob8RDTjrn8uhtaczg4Wn7M0mUg4IdRK6FgwqklLzrTuX0cqBOSUvshYkjL6IiWV1nzXqj gy/vVtzVQdJZekjD5OZCRfh14ISMrdUsGSZI3pX3OSAoec6e9L2N3vTF1vPdRRW6heqg XW/9SfW6o4pp0Z0l6WH7PwjXpu7b55AslZdtJhXwhJW1bEwfyGh50Rt LrOJofKtfUkidkbKDvh6NJIKSUnp32PlcXVW/QuXvbbBVfkn 1qCkrC5dLY/TEXWGKnwQrGG9m5IU6XTa8rcqqJQuZyQtUitWrhjMCegAAABYC00T0j8OerQ37A5N5pwp1c707J D6yqZsd7m7mu9O5nUqEnCf82hvcFDqiJUC7FOH uUdc3ciD3 tp9IfzttoLaKf3T6svZ6wxhRQR9rZVG0mcdjZCV05nT2cmN0Zvfi4 PLSyPgtZdWpjoAkfe2uaw/pldMB9zWX9dNYSM7vmOf1euRrnfB7tNffqz9ETmu0uFa 2nWKfB16IRDQCx3VEr21vD7Ucutfus/N5VPPxOyI9btLzAm3MlG1 y9rW39xHbsjP 3E4F3bKr8HPnfdezY2qEzmjnRgxb/ht1Aq7Exp98eUlXTDXVhfrVasDgEdAAAAa WRRhdQq5eztl6udjCU1LidnPekT7uTWY3Pf1qSfDH1xSQpqXOxSic4fhrLajw297mWCs8tvLZzj XN22YkhW31LtCP59HIyq5crlVTxHue 9qeHDslbNff5lt2HL6 g/qp9bjy/3AHseYJqLV9uYA2rO xMaQ/pjt4tb8Ft4MYdS6o06u3r0VuRmMKplMKXE8rXs5 CCeUnejTnqovUCgAAAMBMTTOSjsqc33WPatJK6Nvt83eoRzX5efP3rcygYllJCurQYiPc elSjrfK/pbKRsqn85Is3bmx8OUhdw58pHNeoJak7LTyluWOyC9Rx xFdcgZntdgZnb0fDizeK0AAAAAzERIn2cyGtaYJGeX8qjR66klOT9zppRGBqWgwRu0mcPScLtH4 ZQTWZ2N4zzyh1NSMKJ0fsLd3b0Y2udtthbqdKbF37isq pUJCgpe0mDGc2uO0 F5Wm/Ku1yX1/ 83ahfiWCEXVWeq C0uVuv8IpKZgYUY9PykTD7v5zKYWjwxrudqazKxtT97AlyaeekbQiQSkV9svjadeg tUTWqJWAAAAAEZqmunu62V30m6q6dqVp52jOp96Jmz1LHWau1FchQNK2rZKR0Jlf0vy9UzILjXe o55KTRzqVOXvU1rVPzG3vVDS1twyehbW7gspOe91tdQKAAAAwDyMpAPrIDPs/s565qp0gCkPAAAAACpjJB1YB6GyEfYFEd3Xowl7ybF9rLORkZFGlwAAAICHECEdAOY5efJko0sA AADAQ4qQjg1hYGBAhUKh0WVggxgYGGh0CQAAAHhINU1Iv/jaa40uAYbq7u5udAkAAAAAUBdNEdK9v/U2ugQY7B290 gSYKAjhSPyer36a/x6o0sBAAAAasbu7gAAAAAAGIKQDgAAAACAIQjpAAAAAAAYgpAOAAAAAIAhCOkAAAAAABiCkA4AA AAAgCEI6QAAAAAAGKIpfie98Fqh0SVgDXl/613V67eObK1TJdhIPtNnzh9PNq6G7u5ufqcdAAAAy9IUIV2SfvvWq40uAWvgtXcv1qWdycnJurQ D1MvAwECjSwAAAEATapqQDizl3LlzjS4BG0ShsLrZOydPnqxTJQAAAHjYENIBoAKvd2XLMEZGRu pcCQAAAB4mhHQAqOLHH39sdAkAAAB4yDRNSLcuHJP/N9OLnhP49aiyR1rWqaI6uf6xEkrBh7nwEAAADAQ6 pfoIt8rtR2XfHZY /roAkqVWnx8dl3x1X/ncdDa5uJSYV/SU7PwMAAAAAHE0T0n1Hzin5QvVRct8LfU02ij6jzJsnlGp0GQAAAAAAYzRNSF8u68KQglv3yrN1 rzwvDilTPHB9yHlu615FL0wq qLzd/DCjKy7H7uvOaaoO8CdedNtY uQom8ec/ ePT7b3jEl7rrtvfixrEXrmFHmzS6FP5KkafXu3SvPm5NzrpXRjBIvlj9e6bUwl6Xhdo88Hudf 3Cx9zKKus952odLfbq6S2UULV6rPaqMZSkzXKe2AQAAAGxIGzKkO vXx/TM70Zl3x1VevuYwsUw 8IrOv2sc17KkpK/P6WIpNxvunT4s6Cyv uQNK3U/3DOD73nHJfGpJ//N9l3TymiaaV 6YbgsvYufSb1H2itoY6WsnbdKfvv7S57TpJaFPvvxWn9rhVdC3P51DNhK 12dDbWLSenh5S004pEEspP9MhXS1OZYQ1X7eCMov6wbhzKy7Zt2RP90mC3wpfqcQ8AAAAANqoNG NInNfibaUkd6nyhRVKL/L5W6avrGrs798zIz3eXPWrVof/QIj35s7nBuKTYnlc7npWkMV2es5x8Ws88tVu I dk//5l ZZRx/Kt57U2qNaEEhFJyirWXRzd9qu1dVttAd0aVvtiidu6oxuSdm0rtuZTKDmixK5VVY0GevTRR6v AwAAAOpl44X0u9/qa0nSmMLu1G9nV/hp3fpjPS7Qou3bnb/sNM2fOt2vHketWxntfauA4k087MhWxM3ZWGxK3hOdPVi6dYmaja/TFllVXMXz5lfqFU2KP2aMb9EsCnnqQzSp JFqfcR5Upn4JfnGqfiZam5Eczloaj7e65kmQpE213j7cryrqGdfHDDz8s63kAAABgJTZeSN/6Uz0jqXzn9 K/5Av1vdQzTy2yUd061rGu19pQQkq6895np70XZRT1x5TalVDetpXelVLM74RkX6hfh4KSFFQib2u ip8LYu69HI4mg03YqLL nPKxLoeIXBM7J6hlJKDintH65L9eNO9KBztkh EzUr3Bql9J5W3Z6l1LhKPsPrJP5gZyADgAAgHprzpD x38t/blwpHi3Ol RpGn1JifdUDSjzIWPVxlkxnT5 oykSV3 SHKmli92/nLqmFTiwmTZ4z/o9l3J uy6cjXVtlb3/BAIJd316VnFugc1XXw c1kpScHWA/JJ8rcGJaV0eRkd6uuZUD6dUMQN205YX36g3rXNJ18oKdtOKmQN692UpEinQk5hCi6zLqxOMZgT0 AEAALAWmi6kZ97cK88vx9zwOq3UL52d0cuF3htV pVW6aMT8m/dK8 LH0n/4WWFJOn6R r9yjkv9cshRUs/gzat3uTHSvyXs07bX53V4Qvl09k7tOMPfy/P1hNKqVWR3/XNa29avf9l7kZti9ah3er/dav7ui 0/chu97kOBTSt3r3HNKin3PXxY/rNhZlVXAuLKY1qZ1NKuSndunOj4rk37ixvKz5fqEfJCVt2Pu2G9ToF6lTYme7ujym7grqwOgR0A AAArJVHGl3AcoXeG5f93lJntSj03rnK573QJ/tuX9kTfUrOOe9lxea8oFD6a/uRc7KPLNVejXXI e33 e35jvQpe6SsvSNza13ptbAYZ9p7Kjz7q/W bbskZRec6WwEV0MgzkTVfqd/diq8L6TkSEI3/LHFX7dAUK3 Sk8vYxd6AAAAAE2j6UbSgdWzdGd6Wvnyp0rT3ouPOxWRlJ2 KktSfjorKaLOBVMTMhoerjw0no11Kzpszf6O/dVLypba8Ks1KEk3dMcqHquB74CzHj4b02DGadnKRFWlBAAAAABNhpC hExpOvyYwluHWOPd9CwNt/sVS6UUnrc PJTMK1H66fmQkvmEIjdi8ns8Ct IKJFPussHfOp5K6Kgsop1X9a2nsqLCiLpEfVvu6pBd d2/6VdSldqw9 uweldzsZxxZ3mM4OKZaW5PxHnvm7EmTqfCvvl8bRrUP2qUgIAAACAJtN0093XW23T69E8fOqZsN VT7Vj5Tu2 HiUnepSsdGooqQm74pHScedoj5KhGttIlp/lbBRXucyQkhN25TYBAAAANDVG0gEAAAAAMAQj6QBQwcjISKNLAAAAwEOIkA4A85w8ebLRJQAAAO AhRUjHhjAwMKBCobD0iUANBgYGGl0CAAAAHlJNE9Jfe/dio0uAobq7uxtdAgAAAADURVOEdO9vvY0uAQZ7R 80ugQY6EjhiLxer/4av97oUgAAAICasbs7AAAAAACGIKQDAAAAAGAIQjoAAAAAAIYgpAMAAAAAYAhCOgAAAAAAhiCkA wAAAABgCEI6AAAAAACGaIrfSS 8Vmh0CVhD3t96V/X6rSNb61QJNpLP9Jnzx5ONq6G7u5vfaQcAAMCyNEVIl6TfvvrbRpeANfDaxdfq0s7k5GRd2gHqZ WBgoNElAAAAoAk1TUgHlnLu3LlGl4ANolBY3eydkydP1qkSAAAAPGwI6QBQgde7smUYIyMjda4E AAAADxNCOgBU8eOPPza6BAAAADxkmmZ3d vjoDx7PVX BRUcyshacG5QiZl6V5JRtOy6y2/fUuJYhXsYyigzVOH5Y4nSfQEAAAAANramCem l7OyR08rIkkK6PSoLXvcVv7UaQWUU24sLP9Qxj33Q51uXatKQkqOp906VsKn2Dlb9qliC 699IUU6rNlj55WwD0SOWXLPheTb9U1AwAAAACaQdOEdElSy/YFT/l2x/TrDvfBH243z6izd0cpjAMAAAAAIDVbSK/AmkzoN2OSFFCke7FRZ0uJodkp88Gh dPIlzg k1D0WPHY5UVrmp22HlV0aHbqfZRfCTOApeF2jzwe51/7cPFdzijqPudpH67Plz1WRtHitdqjyliWMsN1ahsAAADAhtSkIT2n3i4nCPtP9CqniE6f lDJ3dXOt5Q45lfv2DPO1PLRtJ4Z65W/tN57qeMZRbt6lZqOKD1u68PnpNQi1YX6itPhU9JzH8oeTyuinFInososci evR55unqVW0XPYCk 9UzYSrurDbKxbjk5PaSknVYkklB oqe2JQaZYQ1XTdwZRf1h3TiUl23bsif6pcFuhS/V4x4AAAAAbFRNGtLnr0lPqfeEv/omazNjujQtqXWHOloktfi1o1XS9CWNzdRwfPKyE8o7OhWS5NvdWeOa9Ig6d/skue0ppcsLRtNn78Uen7smHWuoNaFERJKyinUXR7f9am3dVltAt4bVvljitu7ohqRd24qt RRKjiixa1VVo4EeffTRqv8AAACAemnSkD7LtzumbHETtuleDVaaUl64VWV0OqdbhaWPW99 vdoqtf0p56 vv2WysykOJN0ZD9mYuisNiVvDc6arF0 xMlG1 2PKKquYv3zK/EKpsEft0eIvD/jUk3RG6TPR4pT7qDLlU/CLU 0z0dKU/GjG0nC03T1Xkixlou3u8XZFF07PwBr44YcflvU8AAAAsBJNH9JrUnWTtoB2eGs4XkfP/JS92s0RUtKd9z477b0oo6g/ptSuhPK2rfSulGJ JyT7Qv06FJSkoBJ5WxM9Fd5TX49GEkGn7VRYfk95WJdCyfJfCPCpZySh4JzS uW XDfuSAc6Z4fgM1G/wqldSudt2eldSoUrLaPAWpgfyAnoAAAAqLfmCukztys8l1H0hLtCvPW0 iutS2/p0KFWSdO3lHent9 altR6yJ3evvhxX/CQE LHLisjySpOf19SSpcnLUkZXR6TnOnv7qGy0ftbhZoaw1oIJd316VnFugc1XXw 47zHwdYD8knytwYlpXR5GWnY1zOhfDqhiBu2nbC /EC9a5tPvlBStp1UyBrWuylJkU6FnMIUXGZdWJ1iMCegAwAAYC00TUi3Pg7K09XrhuOyzda6wkop oEBHWnn3N8Wtjw rd9o97 8TsuRT7Fxepzu VrjL2Zzt647TpfO11PEWZ0p9QCmF9wY1 O0OdxQ0p96PFktHEe349rA8e50aI6eSCslS4phHnuIXC8opdcIjz1DG2RW bOO41AlP9XX2qJvSqHY2pZSb0q07Nyqee PO8t4NX6hHyQlbdj7thvU6BepU2Jnu7o8pu4K6sDoEdAAAAKyVRxpdQK18L2dlv7yac32K9WUV6 6v6qsWP704qO56cffxyTMkqp5bbvqAWn2LnbMUqnm3Lrlof1o4z7T0Vnp0f4du2S1J2wZnORnA1 BOJMVO13 menwvtCSo4kdMNf Z2vLqhWf6Wnl7ELPQAAAICm0TQj6UD9WLozPa18 VOlae/Fx84O/tnpq7Ik5aezkiLqDM1vK6Ph4cpD49lYt6LDVinSW1cvKVtqw6/WoCTd0B2reKwGvgPOevhsTIMZ9wcEM1FVKQEAAABAkyGkr4HMUNidlp9SeC bepnF0nC7X7FUSuF568NDybwSraVHSuYTityIye/xKHwjokQ KSej 9TzVkRBZRXrvqxtPQuSuyQpkh5R/7arGnR3bvdf2qV0pTb87Rqc3uVsHFfcaT4zqFhWmvsTce7rRpyp86mwXx5PuwbVryolAAAAAGgy TTPdvZmE pi2bi6feiZs9VQ7Vr5Tu69HyYmeyssaQklN2IsseAgl3df1KBmqsY1k VnORnGVywwpOWHXtNwCAAAAQHNhJB0AAAAAAEMwkg4AFYyMjDS6BAAAADyECOkAMM/JkycbXQIAAAAeUoR0bAgDAwMqFAqNLgMbxMDAQKNLAAAAwEOqaUL6axdfa3QJMFR3d3ejSwAAAA CAumiKkO79rbfRJcBg7 idRpcAAx0pHJHX69Vf49cbXQoAAABQM3Z3BwAAAADAEIR0AAAAAAAMQUgHAAAAAMAQhHQAAAAAA AxBSAcAAAAAwBCEdAAAAAAADEFIBwAAAADAEIR0AAAAAAAMQUgHAAAAAMAQhHQAAAAAAAxBSAcA AAAAwBCEdAAAAAAADEFIBwAAAADAEIR0AAAAAAAMQUgHAAAAAMAQjzS6gFpsHdna6BIANJnP9Jn zx5ONrWMx3d3d mv8eqPLAAAAgEGaIqRL0uTkZKNLAIC6GRgYaHQJAAAAMFDThHRJeuLcE40uAUCTOFI4Iq/Xa xI9f9rdAEAAAAwEmvSAQAAAAAwBCEdAAAAAABDNNV091wwrmu5CgciXYon/etez3p7kDivM70FSW3qsg9q49/x8uQT5zXa 4S67IN6rKa yuuKZ1RTkrynj tobFPpyMr7Oq8rwVFN5SRvpEvP7/i8VFNtbczW1JaO62Bo7n2Z9J6v7efxgXLBM7r2TJeOJx/Tn6NnNPr1Ph3Pbtft4JnS/w7Mvm z/abAPh3PBupazVKs3Bva8b nJR3Qlbd/pf2a0fCFX6jv8fd066BX1pVf6OD3x3TryEvyrWtlAAAAaDZNNZIeyB7XvoAkebUvH1fcjiue71J bowtbJ5tiL7r3j6XU1ld HUxX/vSstK/z0VFNaZ 6TntV Pq 7i 7Bb/aT3uXf EGqM/n8YFyiXz1w187PXj/69JVFcjG1RVxHhV6f6 cJUl HbSPa9/pLsWzAW2q0NRa8gXe1FClt 37e5Kk29 vbz0AAABoXk0V0ivy XXwIRhFx9L8saOKmzDanLsvxY4qng0osIKaNm2fu0GiMfe1Bh4kfq9rtyod2aTNz0jeQ9u1SZu0/ZBXembzbPje4XwRIhV0zX9Fi8T8BmnR9selPa0B dSiA62t0uNbGEUHAADAkppquvt8DxJXdLvjoAK 2ce/751SQV61nX5RB2ObpMwVxcNTckbfn9f9w6Oays2fnvtAuejvdS1VkORMUz6a9CsfjWs0JSnQprZ nvtNUquBMr 24rfP a3LOblOX/bS 8YxqSl7tyx8t1TP7 n06/uv7OhOeUnFqsKq1XZxybeV05fA1TeWcc7qyVUJa2XnFuqvdT219sfJ XPn9VqpXc6aiP3 rbLpzhXtbeup1lT4pujSh871TKgT2qSsbWEZfl/fbeeceNaXR4GZ1Hbqp0bKaausDqS3yxJw2z9TcRvl7VybSpXjysTn3X7mfHlQ/Z4l7X7KPKnyeFT2v0VRB0qjiqYX1 Dvb9I0byzd17NS 7XOv VjsqLpuxTWamtJo9GnFk4/NOX73/H/VoXdGlVOrjv78TX0QaJHy/6C/ aerklo19MYv9M3lN3W cEBHn72q819JevaYhr4/p75Cq47 pzf1t9 8p4NfTWvPz/9RXwRaJM1o Mp76vtqWpK059n39MXB3RW7Yv/TB/TPapEk bbt1dDmyucBAAAA5Zp0JL2ga/64zvR N/tU5orO9E7piXRc8fQTmuo9oysZSaGD7tTYgm6OPab2X1eY3pyZ0LWUtC/vTKMtpL5RXpI/6U6lz0lPJ52pvYXeCeV9AR3N75NXkgKb9Zj8Opjv0r70bEBX eslKdQ Z2pw1bYlSXld8V/Td4eOK57fJ29uSp8nHiys28rpvP adOi44naXnkiNOvdc5X5q64uV9 OK77divbPTvp/YLvn792nfhwFtqnJvS069rtYnRYfanfc0d215fV1mtoY2J jPq2mxPniQcMJxW/qo2nd8V6HNWvrRee90 rjitrs0JLBPx5N 9/6fUNdiS0SqnVPDvS9 XuXPs79/p/PfUKSr8kyB0EEdDLl/ wIKhOafUNYfqVGdT/y57F6u6Ll3RvVM2tZf/tOTOv /f6H/nJfk/5WuPCtJ0/rkjle/ ncHJEl/GzymPZL0vXSg8z0d1bTO/9P/lIK/0FFJX07nZElS/n q7ytp6I1/0ZVnpS / j/6tFJfyrnWB8Wbeuwl9WzEqRAAAACouyYN6W3qsuM6frpsxPH2d5K82uyX5N8sr6TvbpeHLa92dm zSptDBhYEgdFBx 0VtHsvpm68l6Tvdt8qOBzZr7hidJF9AL572SrlrmshI TFpe4UQsaRKbWe 0ZSkJ7ZvknwBHbXjczY1K8nfV0HSVO8Zxd1R56nL aXvZ5G WFU/rvR q9S7qcMJcVOX/ z0r6/6uUtaxusKt/688Mlqfb0SFfrgz7cKKvb7/OnutbZRUe6 /iw5X5pEvtOo57yu5B9Te8VQXOWcWu 92nm1fp5XxK D7hdmhd7R0tR553P8rHb4JW36mfZIunF/pux1rXppW4smPWxfAAAWrklEQVR8/l/pL2//SvuLTzRb5ix3p/Jt9jXj1dvtbc/yv95e03tf3OJ/rn7yXpj7pd4eMCAAAArFSThnTHptjBOSPXK5fXleAZfbM9oKefWcb1iyHyN1d0f7u/7ptVzQ3HCzlBxJkOHrfdjfSSfq30fhqnSr2 7doZkPT1N7q/fbvbvyu9t9X1SfW NkjooI6f9qrQe0ZxzxldU5v25YthfJMCyaM6nn9e s0ZnQlWWsdd Zxa732p85b6PK9Y8QuzdTGp/3zhF/rnzS/pbx9fp0sCAADgodLUIb2cM/pY0P28SiN6T2yvLTY/SHzurJVVvmwX6Rr4Ano IiknbV5yFP3Pul/p5 MqcUewC70TyluSrLxymYUBp/glQeHSbT2QJCunXGYV96PV9eNctd9v9XrdDcNyU7qvTUucu9JrlHHvt61zYQCt1tf18tgOZxO0 3npwe2VtvJAty 509XtuOLZsi xMlcUj adjRazXWrLTemb fVXOafWe696Xo2f59XYFDta2vFdKn6Ov9KtvKQH/6ovJe3a3LLq61i5f9T5giRNsmM7AAAA1kRThfRc6feRpzTqic9dF uOIk6F44qHv1Pb6ePOetbMFXczr4KuHc6pUjQoTi/ 7rK0 ZATlm6OPXB/TktS7qZuZ27rZvHa0dkxSH//PnkjT1eZ9u3X0 6U DPBb/RdYPb1i7btC jFdJu8mtKoP67zg/e1PbTJWbdcPC Y0wNfQC ebpM3d01nPHGdH9ysQKj6/dTSF6vpx5Xeb9V6VQx bXo6tPh7Nb9v8vMea5FrtKWP6/lbv1c8PCVvpEsHQ6q5r8stVUNusT5w155Phc9rwp2yPXU5v6DNxdqQdVs3c85/G/Hiv AV9yfKpLbOx3Q7el5xz6i c 9zvornVLn3mvuoyue5NFMiNarzlfYBqOiBcsG4Rnuv6Yxn7myAuXsiHNQXbz rVNijv/mnP roz//RWR e/wcd/EqSptV3 RMVVzx8mj2nLyXpq3/UcO7/6LwkFc7plxfeU1/B fsf8pJv85OSpBvfSNtbW WsbZ RlXPP01UdvDDbLgAAALBcnrgdt6sdfFtvq1Ao6IL3wnrWtMDWka2anJzUE dqWKu73qyccvnKm1oB6 tB2RdZZSJd5k3NXwdHCkfk9Xr11/j1RpdS0f876je6vvUy uS3mpyc1Llz/7HRpTTMyMhdtw/ONboUAECdFAoFeb1eSZ83upRlKRT Lf//iQGa ifYGikfjWtUXTq Q9oea3Q1gJzd2bVPx 1AaX EB4nz n1tW8wBAAAAMAAhfaV2eKXezzWRPqqDja4FkKTQ09r3m891xnPNfcIrb R5vZis95aGAAAAANYKIX2F/LGjijOCDqP4Fcj6tdjPxQMAAAAwW1NtHAcAAAAAwEZGSAcAAAAAwBCEdAAAAAAADEFIBwAAAADA EIR0AAAAAAAMQUgHAAAAAMAQhHQAAAAAAAxBSAcAAAAAwBCEdAAAAAAADEFIBwAAAADAEIR0AAA AAAAMQUgHAAAAAMAQjzS6gFoNDAxIhUZXAaCZFAoF6ai/0WUAAAAANWuKkN7d3d3oEgAAAAAAWHNNEdLf0TuNLgFAkzlSOCKv16u/xq83uhQAAACgZqxJBwAAAADAEIR0AAAAAAAMQUgHAAAAAMAQhHQAAAAAAAxBSAcAAAAAwBCEdAA AAAAADEFIBwAAAADAEIR0AAAAAAAMQUgHAAAAAMAQhHQAAAAAAAxBSAcAAAAAwBCEdAAAAAAADE FIBwAAAADAEIR0AAAAAAAMQUgHAAAAAMAQhHQAAAAAAAxBSAcAAAAAwBCEdAAAAAAADEFIBwAAA ADAEIR0AAAAAAAMQUgHAAAAAMAQj9Ry0pHCkbWuAwAAAACAh15NId3r9a51HQAAAAAAPPRqCul/jV9f6zoAAAAAAHjosSYdAAAAAABDENIBAAAAADAEIR0AAAAAAEMQ0gEAAAAAMAQhHQAAAAAAQxD SAQAAAAAwBCEdAAAAAABDENIBAAAAADAEIR0AAAAAAEMQ0gEAAAAAMAQhHQAAAAAAQxDSAQAAAA AwBCEdAAAAAABDENIBAAAAADAEIR0AAAAAAEMQ0gEAAAAAMAQhHQAAAAAAQxDSAQAAAAAwBCEdA AAAAABDENIBAAAAADAEIR0AAAAAAEMQ0gEAAAAAMAQhHQAAAAAAQxDSAQAAAAAwBCEdAAAAAABD ENIBAAAAADAEIR0AAAAAAEMQ0gEAAAAAMAQhHQAAAAAAQxDSAQAAAAAwBCEdAAAAAABDENIBAAA AADAEIR0AAAAAAEMQ0gEAAAAAMAQhHQAAAAAAQxDSAQAAAAAwBCEdAAAAAABDENIBAAAAADAEIR 0AAAAAAEMQ0gEAAAAAMAQhHQAAAAAAQxDSAQAAAAAwBCEdAAAAAABDENIBAAAAADAEIR0AAAAAA EMQ0gEAAAAAMAQhHQAAAAAAQxDSAQAAAAAwBCEdAAAAAABDENIBAAAAADAEIR0AAAAAAEMQ0gEA AAAAMAQhHQAAAAAAQxDSAQAAAAAwBCEdAAAAAABDENIBAAAAADAEIR0AAAAAAEMQ0gEAAAAAMAQ hHQAAAAAAQxDSAQAAAAAwBCEdAAAAAABDENIBAAAAADAEIR0AAAAAAEMQ0gEAAAAAMAQhHQAAAA AAQxDSAQAAAAAwBCEdAAAAAABDENIBAAAAADAEIR0AAAAAAEMQ0gEAAAAAMAQhHQAAAAAAQxDSA QAAAAAwBCEdAAAAAABDENIBAAAAADAEIR0AAAAAAEMQ0gEAAAAAMAQhHQAAAAAAQxDSAQAAAAAw BCEdAAAAAABDENIBAAAAADAEIR0AAAAAAEMQ0gEAAAAAMAQhHQAAAAAAQxDSAQAAAAAwBCEdAAA AAABDENIBAAAAADAEIR0AAAAAAEMQ0gEAAAAAMAQhHQAAAAAAQxDSAQAAAAAwBCEdAAAAAABDEN IBAAAAADAEIR0AAAAAAEMQ0gEAAAAAMAQhHQAAAAAAQxDSAQAAAAAwBCEdAAAAAABDENIBAAAAA DAEIR0AAAAAAEMQ0gEAAAAAMAQhHQAAAAAAQxDSAQAAAAAwBCEdAAAAAABDENIBAAAAADAEIR0A AAAAAEMQ0gEAAAAAMAQhHQAAAAAAQxDSAQAAAAAwBCEdAAAAAABDENIBAAAAADAEIR0AAAAAAEM Q0gEAAAAAMAQhHQAAAAAAQxDSAQAAAAAwBCEdAAAAAABDENIBAAAAADAEIR0AAAAAAEMQ0gEAAA AAMAQhHQAAAAAAQzzS6ALq4W/e feNLgEAGuIvb/9Lo0sAAABAHW2IkC5Jtm03ugQAWDfHjh3TBx980OgyAAAAUGcbJqRLUqFQaHQJALDmPvvss0aXA AAAgDWyoUK6JHn/74VGlwAAa2xrowsAAADAGmHjOAAAAAAADEFIBwAAAADAEIR0AAAAAAAMQUgHAAAAAMAQhHQAAAA AAAxBSAcAAAAAwBCEdAAAAAAADEFIBwAAAADAEIR0AAAAAAAMQUgHAAAAAMAQhHQAAAAAAAxBSA cAAAAAwBCEdAAAAAAADEFIBwAAAADAEIR0AAAAAAAMQUgHAAAAAMAQhHQAAAAAAAxBSAcAAAAAw BCEdAAAAAAADEFIBwAAAADAEIR0AAAAAAAMQUgHAAAAAMAQhHQAAAAAAAxBSAcAAAAAwBCEdAAA AAAADEFIBwAAAADAEIR0AAAAAAAMQUgHAAAAAMAQhHQAAAAAAAxBSAcAAAAAwBCEdAAAAAAADEF IBwAAAADAEIR0AAAAAAAMQUgHAAAAAMAQjzS6gA1v5ktFT36q1E338c42JQ63q8d7R9HcNiVf2i RNXpHnxJR7whYlRo op6VRBVdnffKl8i/tUUhqmppNNqc/V2LmS7V3faps8XHHq7L7fBVPzQzFFR6r3lRwZ5sOHW5Xz 5Ny69j8oraT0wpu3O/8mf3qHIFa8yEGgAAAIA6YCR9LU1ekafrU6WefFX58bjs8bjsgR2a/vCMPF2f6kbxvN0HlX9jSyMrXdrkFfnf/9Ps42ao2WTz 3MlWvZoYvxVRWo4NdQXlz1 XImdxWfalB53nkt3SNmbU4qdOKP2Tx4suwxr2a oPxNqAAAAAOqBkL5mHmj4wylJW5R4xTc7stfiU/JseVgyn WOUqI zOrPTQr1zQb97PsTyiyzBd/ug5oYj8tu4Ai2CTUAAAAA9cB09zV3T9OFB1JL TTiTeoZ2K/pXJWXFCxFT15U6qYU7Nivkb55wWNm9rgkaWeb0gMHFWqRpAcafv2MYjfLzu94VWldnDvdeed 5c9u1uDei0q551SaKm19ckH 95j6YU3jslZxT2oPzLrHn45OeK3XTaCna8qpE 3 KBqmypQLBjv0ZekQYrLhFoU3q8XXfK77v8fhZpZ 79tSnxxveKuY DbxzXxEvzpn/Xch8zloY/ lyxsWK7WxQ59XdK7p5/vbn9Gaqx/cwnF/Tu /eU1RZF3qjHtz2b1LpT0k1J l53ZuR lrTEZ00V3ofifSzy3mklbW9R4tROTX/46cLPWKUaan2tJOmBMp/8L7dPF6r4OQAAAADWCCPpa2aTtj3p/JU6cUae169oePLB7LTclj1zA0vJPV26t0nJgf0KSsqOfarBybLDM1 qveuiUjfblB6Nyx5/VRFNKdx1QcMzznV7BsqnQLcp3edTqC udEdxevoWJQb2yCefkqP7Fel4Vfkqa5l9Lx1RuqOsrfG47GIQW2bNMT3uvH50vzR2Uf7Xv1xkmv IDDZ/8VKkn9ys/HtfEK5s1OG JwGxdxft2rr cdube35Smt/yd26dS9v15079rug9L0a6Lio097rw/p9ok3VPqxP/S8MwS/VlD 9YnFxR /56z9nr8iPq3/Mn5kmVVHmi69KXO49pWCuhLfdZU4X1w2lv0vVtG27NLKu7p0r1tcz5j3cX3plINtb5WUmboTFmf Ft8zydlrIU5ABwAAwLoipK hUF/ZtHZ3za9/b1ztr19RZqbaq7boUGBuKLhxrxgonPCTlaSOHe6Io0/9L2yRdE xk26Ya/EpWQoaU7pcCsz3Sv839pET 6zcn9T6yhIj2ktarGYp85FTc/CFdieMtmzToZ2Sbt7U1Wr9MHNHl25KGnPPaXG UNDdZa6ZXlY7bercvUmST51u6Mtev1MKyLXcR2aoODPBfX 8OxSpcbB76fYtDRZH V/YJp8k3 4dNa1Jr 7BbM2Sgm 41671s1bJkn2 krYXfsZqt8hrZ77Uu 4Mk2KfqtSns/ dAAAAAOuFkL6mNqnnbFz5U21zRnizN6cU7orXvElXthhuiuFHUnBrhdBRHnrLwlvqC0uSpTtb98 9 afDH 7Ik5e/ RAfWYFf2Us2ydNkNQdn3z8izNy7P3uK09Hu6lKvSB8WAqnuKdcXVPmTJatmjiSoj/lWttp2bf1K 5vuYPaf0/rT4lDwblz2 1O73NbQ/easUpndtWe3o7pTC7jXCY1sU3Nmm9GjZtO7lfNbmW6rPV9N2mexyv7Cp02sBAACAtcSa9DVjKTo kJft87qZWB2XNWBo8 blS7nrj7PsTyrw0f p4vTijwakxSWO3lHnuJ9KWPTrwwk1nvfPNm7o6uVnTW7cpuSbXd83cn53mvMhPhC20ST1nj0vuO vPs2EX5x1byU28ra8e/1RnVLa3RVg33MXOndI4TApcRpGvpp8mFT61c2frxuqvXe7cOWvborY5PFR5zZ028tKfsyxBn00c AAABgPTGSvpbGbs3ZKdvX4lPy7BHlS1PRnQC4VkLPzU55f/dDadtuyRfY6Y7q39OlDz9X64qnENeoZbN2Ff92R 9rN38mwj3Fuq4se/fxlbSTv1tcGuCu0a7lPlZzr6vqJxPV671be6G 40q/0abgzU/l3xuX/8SUgh37lTbxSwUAAABseIT0NTWl8NDCuDW7jrhsk65alKYRz1UKlDt3zp26XjblPfvk5rnrnCVl tXNNprrP5e4cLtU8jVmSszu423fOTITi v5lfrGx2nZ2/sTdxb6W 1jhvdb6Wu9PSssmytf8r4nlftbKLdXnq2l7Lczc0eXrP9HIeFy2 2 ib8/sLvMAAADAOiKkr7Wxi/K8/mXZRnEPlPnkc6UkRU4td7rx7A7m2fcnnDZnimuZtyhyeP5vRM9ugBZ5zldq48ALzq7XpY2yluBM/ZackGVpuMa19KWaDxdH9Ms3BXugzCdfVh9ZbdksjV101jO7T217UnMC3Ny6JCt3c FPaNXQzqwpvfvJvLXlpT6q5T7Kd5h3znHe9wfKfHJF0clKdRf7s4b2W/borXkb2lnuZ0mSNHaxdI3VW 5nrcySfb6KtuvO3YneHUX3lP97/YKiy/qsAwAAAKtHSF9LHa8qPx5X/vCf9O7JeGkzsHevP67EaFzJ3e55k1fKfjv7nmInryha3P1amhu WvZoYnS/Ijudzec8XReV2tmmxOiR2fbKOFPe29RZdsyZ8l77btm l/7OHQm9p0sf3dcB93fKa65590HlT 1XcKckNwy1v35HCuxZ/EuKjlc18tx9Db7ubnD2xzalB2YDnO lv1Oiw90RvOuCBrVzdoO 8usv0c6sNh3aMqF297fjF/w di33UXp/nHPCXXG1vz4hBQ6W3p K/Vlj 6G 48493/xU/r0XdDXwvCLaosgb 5Uu/0zNkxkq34hOKm0ct9jP4NXyWZu8ovBYWZvF9pbq8xrbrukzVqmG5Xw q7l5T6n3z9Txiw8AAABgaZ64HberHXxbb6tQKOjfnM vZ03L9jfv/HvZtq1CoSDv/73Q6HLQZDJDcTfkreVmajDWjPPb9lV/b35ZGx6uj5G7WzU5OakPPvhAf3n7XxpdzqqMPvmtJicnde7cf2x0KQ0zMnLX7YNzjS4FAFAnhUJ BXq9X0ueNLmVZCoV/K6/Xq7/Grze6lIcau7sDeIg5Af3GG8dlvzRvZokb3m9U pk4AAAAYI0w3R3Aw8v96bvs3Qfzpv0/kFW4pRtq01vzwzsAAACwhhhJx0PN uTC3PXMe7838/e8sTZa9mhiVIqe/Fzdey WbTy4RcGO5zUy6lvHTewAAAAAQjoecr6Xjsh qdFVoKFa9ih5dk jqwAAAAAkMd0dAAAAAABjENIBAAAAADAEIR0AAAAAAEMQ0gEAAAAAMAQhHQAAAAAAQxDSAQAAAA AwBCEdAAAAAABDENIBAAAAADAEIR0AAAAAAEMQ0gEAAAAAMAQhHQAAAAAAQxDSAQAAAAAwBCEdA AAAAABDENIBAAAAADAEIR0AAAAAAEMQ0gEAAAAAMAQhHQAAAAAAQxDSAQAAAAAwBCEdAAAAAABD ENIBAAAAADAEIR0AAAAAAEMQ0gEAAAAAMAQhHQAAAAAAQxDSAQAAAAAwBCEdAAAAAABDENIBAAA AADAEIR0AAAAAAEMQ0gEAAAAAMAQhHQAAAAAAQxDSAQAAAAAwxCONLqCePvvsM0lbG10GAAAAAA ArsmFC rFjxxpdAgAAKzIwMKBCodDoMgAAgAE2TEj/4IMPGl0CAADL1t3d3egSAACAQTZESP/L2//S6BIAAFihzxtdAAAAMAgbxwEAAAAAYAhCOgAAAAAAhiCkAwAAAABgCEI6AAAAAACGIKQDAAAAAG AIQjoAAAAAAIYgpAMAAAAAYAhCOgAAAAAAhiCkAwAAAABgCEI6AAAAAACGIKQDAAAAAGCI/w IyACUmZ4QkAAAAABJRU5ErkJggg==

essasmj
02-14-2023, 06:33 AM
A test, could you put this formula in cell Q2 of the Poison sheet of the file I last attached:
=Poisons(TOCOL($A$2:$K$150),6)

1. Do you get this?:

No, I get #NAME?, also the same is appearing in P2,P3,P4


2. Are you saying you've now resolved this error?

Not ye t resolved for me


3. Is anything highlighted in yellow while this error is thrown (or after you dismiss the message)?
My personal Excel is 2021
the error still in the same line
the yellow highlight on the "bs" in this line

bs = Array(CoulPupil, CoulPulse, CoulBP, CoulRR, CoulTemp, CoulpH)


Hospital Excel is 2019 managed by group policies by the IT department
the error is appearing in this line

ws = Application.Unique(xs)

FYI: the dynamic array functions are not working on Excel 2019


Did you try the file I attached 'right out of the box' without changing anything in it?

Yes, I didn't touch it

p45cal
02-14-2023, 06:48 AM
Pic 1 from post 36Thank you again!
I'm guessing the compile error is to do with version of Excel, but I'm surprised that Excel 2021 has a problem with these newer formulae.
I'll wait to see what the physicians say then write something which will be 2019 compatible.

arnelgp
02-14-2023, 10:22 PM
when i ran the .xlsm, i got runtime error 13.
hovering, it is failing here:

xs = Evaluate("tocol((" & StrPoisonColms & "))")

Evaluate() returns "Error 2029"
therefore the value of xs is the error message and
will not further proceed on the For..Each

p45cal
02-15-2023, 02:36 AM
it is failing here:
xs = Evaluate("tocol((" & StrPoisonColms & "))")
Thank you arnelgp.
I'm guessing then that you don't have the worksheet function TOCOL available to you in a cell? (@arnlegp, what's your Excel version?)
It's looking more and more like it's a version problem, which surprises me a bit since I'm not on any special 'insider' channel for MS365.

georgiboy
02-15-2023, 03:14 AM
I think it should be in our Avatar, the build/ version is more important for offering specific solutions than where we live for example.

I run Excel 365 Version: 2301 Build: 16026.20146 - for this reason i should have all of the new functions.

Given all of the new functions in the newer versions i think it should defo be in each users avatar (as it is on other forums)

arnelgp
02-15-2023, 05:40 AM
i am using 2021.
365 is always updated with newer version, since you are Paying for it's service?

"Microsoft 365 is a subscription service that makes sure you always have the most up-to-date modern productivity tools from Microsoft. There are Microsoft 365 plans for home and personal use, as well as for small and midsized businesses, large enterprises, schools, and non-profits."

source:
What's the difference between Microsoft 365 and Office 2021? - Microsoft Support (https://support.microsoft.com/en-us/office/what-s-the-difference-between-microsoft-365-and-office-2021-ed447ebf-6060-46f9-9e90-a239bd27eb96)

georgiboy
02-15-2023, 07:08 AM
365 is always updated with newer version, since you are Paying for it's service?

They do release BETA updates that you have to update to manually although as stated by MS they are not always stable. I always update to them as i want to see what's new.

essasmj
02-15-2023, 09:46 AM
I updated the code after the discussion with physicians using arnelgp (http://www.vbaexpress.com/forum/member.php?74556-arnelgp) code
now its 13 comboboxes and 35 columns

it looks working for me, it will be great if you can give it a check (I am not expert in SQL with VBA)

I have 2 questions,
first: I feel it's slow in getting the list, is there anyway to make it faster?
second: I am planning to activate the mouse scroll on it, can you help me here or I need to add it as a new thread

p45cal
02-15-2023, 10:54 AM
Some alternatives.
Both worked on opening in Excel 2003, although the button on the sheet didn't.
Code still very scrappy. Need to check results are correct.

essasmj
02-15-2023, 06:38 PM
it's giving me an error
this line "UniquePoisonList" is giving "can't find project or library

arnelgp
02-15-2023, 09:44 PM
here i modified and add some code.
added temp index, so to make it faster (i hope).
added code to center the userform.
also you can now use your mouse to scroll through the listbox.

p45cal
02-16-2023, 05:01 AM
it's giving me an error
this line "UniquePoisonList" is giving "can't find project or library

This is frustrating! This shouldn't be incompatible with anything from Excel 2003 up and Windows XP up.
Could you give the full line where the error is showing (there are several lines which include 'UniquePoisonList')

Some investigating: With the problem workbook being the ONLY workbook open in Excel, could you go into the vb editor and choose Tools|References… from the dropdowns at the top and tell me if any are showing as MISSING. If you could show a screenshot, that would be good. You can try unticking any MISSING references and try again.

You should see the likes of:
30554

If anyone else has had problems running those files attached to msg#49 could you say please?

essasmj
02-16-2023, 07:58 AM
here i modified and add some code.
added temp index, so to make it faster (i hope).
added code to center the userform.
also you can now use your mouse to scroll through the listbox.

Awesome work, it is working perfectly and faster
one change I will do to minimize the screen again after closing the form

essasmj
02-16-2023, 08:06 AM
Dear p45cal (http://www.vbaexpress.com/forum/member.php?3494-p45cal)

this is the error location
30557


these are my references
30558


just to tell you that I uploaded the new file "poison2" #48 with counter because spinbutton, because the idea was not favored when I discussed it in the hospital

some physicians requested it to be radiobuttons and dynamic without command button, I am still working on that
30559

essasmj
02-16-2023, 09:00 AM
also you can now use your mouse to scroll through the listbox.


can I use this code to make activate the mouse scroll on other textbox or combobox



Private Sub Label126_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
MakeScrollableWithMouseWheel(Me.ListBox1) = False
End Sub


Private Sub ListBox1_Enter()
MakeScrollableWithMouseWheel(Me.ListBox1) = True
End Sub


Private Sub ListBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
MakeScrollableWithMouseWheel(Me.ListBox1) = False
End Sub


Private Sub ListBox1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
MakeScrollableWithMouseWheel(Me.ListBox1) = True
End Sub

arnelgp
02-16-2023, 06:39 PM
of course you can.

arnelgp
02-17-2023, 10:16 PM
i made same form as in post #54, but less colorful (i like minimal color).

essasmj
02-18-2023, 07:26 AM
Thanks a lot arnelgp (http://www.vbaexpress.com/forum/member.php?74556-arnelgp)
Great work
this looks faster and more user friendly,
but I need to work on it to fit it on my form or I will try to adopt it to be loaded as a separate form

essasmj
02-20-2023, 08:17 AM
i made same form as in post #54, but less colorful (i like minimal color).

arnelgp
I succeeded to merge your wonderful work with my form
I am having this error
Compile error:
Can't find project or library

on this line

Dim dict As Dictionary

this error is not appearing in your excel file but appearing in my file in the same computer
I succeeded to solve it in one computer by installing the reference "Microsoft Scripting Runtime" in another computer even I did this but it didn't work

essasmj
02-20-2023, 08:23 AM
I searched the net and I found this solution

Dim dict As New Scripting.Dictionary

30571

arnelgp
02-21-2023, 03:24 AM
if you are still having problem with your form, upload it and i will take a look.

essasmj
02-21-2023, 01:28 PM
Thanks a lot till now it's working perfectly