Function Transf_BraunBlanquet(ByVal BB_Str As String) As String 'Transformation of Braun-Blanquet 'Artmächtigkeit' to percentage cover (similar to usage in TurboVeg or twinspan) 'The key value mapping can be altered depending on specific requirements 'This UDF is used in the UDF SumKum_BraunBlanquet(), which will apply the Transformation on a range of values and 'will sum the transformed percentages. This cumulative sum can be used to check if the Braun-Blanquet estimation for 'a vegetation layer is reasonable. With CreateObject("Scripting.Dictionary") '~~> first transfer your list in Dictionary .Add "r", "0" .Add "+", "0" .Add "1", "1" .Add "2m", "2" .Add "2a", "10" .Add "2b", "20" .Add "3", "37,5" .Add "4", "67,5" .Add "5", "87,5" If Len(BB_Str) = 0 Then '~~> case: empty cell Transf_BraunBlanquet = 0 Exit Function End If For Each elem In .keys key = elem If key = BB_Str Then Transf_BraunBlanquet = .Item(elem) * 1 Exit Function End If Next elem End With End Function Function SumKum_BraunBlanquet(Rng As Range) As Double 'See comments on Transf_BraunBlanquet() for explanations Dim Sum As Double Dim RngArr As Variant RngArr = Application.Transpose(Rng) 'dumps range values to array For Each elem In RngArr Sum = Sum + Transf_BraunBlanquet(elem) Next elem SumKum_BraunBlanquet = Sum End Function
14 Jul 2017
Excel VBA User Defined Function for Transformation of Braun-Blanquet Values to Precentages of Vegetation Cover
Subscribe to:
Posts
(
Atom
)