Scratch, 157 156156 142 bytes
define(n)(o
replace item((b)-((b)mod(n)))of[q v]with(o
when gf clicked
repeat(100
set[bchange[b v]to(v]by(1)+(length of[q v
add(b)to[q v
(3)[Fizz
(5)[Buzz
(15)[FizzBuzz
Note: This requires b
to have the value 0 before starting (which is the default value that all variables are initialized to upon creation in Scratch), and it requires the list qq
to be blank and displayed (which are the default conditions when creating a list).