If you declare your variables Public, they will be available to all code in the Workgroup where you defined it, regardless of which instance is upfront. Declare and set your variables at the start of your app (and check their status regularly).
Public gwbkMarket As Workbook
Public gstrThisWorkbookName As String
gstrThisWorkbookName = ThisWorkbook.Name
Set wbkMarket = Application.Workbooks(gstrThisWorkbookName)
You can refer to your sheet values and code thereafter in the following way:
Workbooks(gstrThisWorkbookName).Worksheets(cstrSettingsTab).Range(cstrAColDBPriceDif & clngFirstRow)
Or
gwbkMarket.Worksheets(cstrSettingsTab).Range(cstrAColDBPriceDif & clngFirstRow)
Or
Call DummyProc(22) ' in the same Workboook
Some Excel functions require different approach, however. If you attempt to ".Select" a range, you'll get an error 1004. Therefore:
If gstrThisWorkbookName = ActiveWorkbook.Name Then
gwbkMarket.Worksheets(cstrDataTab).Select
Workbooks(gstrThisWorkbookName).Worksheets(cstrDataTab).Range(cstrColBuyFactor & clngFirstRow).Select
End If
"gstrThisWorkbookName" usually, but not always be equal to "ThisWorkbook"
Good Luck.