aandeel vierkante meters berekenen naar aantal makelaars

Status
Niet open voor verdere reacties.

sbuseke

Gebruiker
Lid geworden
1 okt 2014
Berichten
6
Het betreft hier het aantal m2 die een makelaar krijgen toegewezen bij een transactie. De transactie is het veld >mutatieregel<. De meters waarmee gerekend moet worden is het veld >gemuteerd gebruikers of beleggingsaanbod< oftewel het aantal m2. Bepalend hoeveel een makelaar krijgt toebedeeld van de meters is het veld >soort relatie<. Per type krijgen zij het aantal vierkante meters toebedeeld. Wanneer er dus twee makelaars verhuurder/verkoper bij een transactie (lees mutatieregel) zijn, krijgt iedere makelaar de helft van de m2 meters achter de naam (veld:marktpartij:marktpartijnaam. Bij drie een derde etc. wanneer er een >makelaar huurder/koper< aanwezig is EN een >makelaar verhuurder/verkoper<. Dienen zij beide het volle aantal meters te krijgen. Dit geldt ook wanneer er een >makelaar zittende huurder< aanwezig zou zijn. De code die ik heb werkt wanneer er een makelaar huurder EN een makelaar verhuurder zijn (groene velden). Maar wanneer er twee of drie verhurende makelaars zijn niet (rode velden)Bekijk bijlage voorbeeldHelpMij.xlsx. De code heb ik in de editor van Excel staan. Wellicht is Access in dir geval beter.

Sub t()
Dim r1 As Integer
Dim Id As String
Dim Rel As String
Dim RelCount As Integer
Dim Opp As Long
Dim r2 As Integer

r1 = 2

rescan1:
Id = Cells(r1, 1).Value

While Cells(r1, 1).Value = Id
rescan2:
RelCount = 0
Id = Cells(r1, 1).Value
Rel = Cells(r1, 3).Value
Opp = Cells(r1, 2).Value

r2 = r1

' als een nieuw mutatie id gevonden is
While Cells(r1, 1).Value = Id And Cells(r1, 3).Value = Rel
RelCount = RelCount + 1
r1 = r1 + 1
Wend

For r = r2 + 1 To r1
Cells(r - 1, 5).Value = Opp / RelCount
Next r

r2 = r1

If Cells(r1, 1).Value = Id Then GoTo rescan2
If Cells(r1, 1).Value <> Id Then GoTo rescan1
Wend

If Cells(r1, 1).Value <> "" Then
r1 = r1 + 1
Id = Cells(r1, 1).Value
GoTo rescan1
End If

End Sub
 
Het zou helpen als je een voorbeeld database zou posten i.p.v. een excel bestand zonder macro's, en je code zou opmaken met de CODE tag/knop. Nu kunnen we er niet zoveel mee.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan