マルチバイトな変数にインテリセンスできることの方が個人的には驚いた記憶が。
Sub 関数()
Dim シート1 As Worksheet
Dim 行 As Integer
Set シート1 = ThisWorkbook.Worksheets(1)
For 行 = 1 To 10
MsgBox (シート1.Cells(1, 行))
Next
End Sub
使い方ヒント: 「これは臭う」という行を見付けたら、各行の
をクリックしてマーキングしておきましょう(要Twitter OAuth認証)
投稿者の趣旨は「列番号を指定するべき箇所に"行"という変数名で値を突っ込んでいる。」
だと思うんですが、貴方はそれを「普通にやっちゃう」んですか。
それともIntegerの使用云々について言ってるのかな。
シート名の初期値はSheet1のはずなのに、わざわざオブジェクト名を日本語にしてるあたりもなかなか。しかも「原価計算シート」みたいに具体的な名前にしないところもすてき。
でも、変数名に「行」って付けてるお陰でこうやってバグに気づけたので、そこはいいよね。なんの考えなしにi,j使われてたらすぐには気が付かなかったんじゃないかな。
コメント投稿には、twitter認証が必要です。
Twitter認証
ついでに突っ込むと行にIntegerなんか使ってたらオーバーフローする。VBAでIntegerを使うべき場面は無い。