>>345
こんな感じかな。
If (shpball.Top + shpball.Height =< cmdb(i).Top And _
  shpball.Top + shpball.Height >= cmdb(i).Top + cmdb(i).Height) And _
 ((shpball.Left + shpball.Width >= cmdb(i).Left And _
  shpball.Left =< cmdb(i).Left + cmdb(i).Width) Or
  (shpball.Left >= cmdb(i).Left And _
  shpball.Left + shpball.Width <= cmdb(i).Left + cmdb(i).Width)) Then