w、Wsは不用です。
あるシートの
w.Cells(1, "B")には000001234や000001234-1などの文字列が入っています。
ハイフンなしの場合は下7桁を。
ハイフンありの場合は-より左の下7桁と-以降を抜き出して
別のシート.同じ行のA列に入れたいです。
下記の処理でelse節を通る場合、
Rightしたときに前ゼロが消えちゃう(1234だけになる)んだけど
消えないようにするにはどう書けばいいですか。
(If節を通る場合は消えません)

If InStr(1, w.Cells(1, "B"), "-", vbTextCompare) >= 1 Then
Dim sNo() As String
sNo = Split(w.Cells(1, "B"), "-", , vbTextCompare)
sNo(0) = Right(sNo(0), 7)
Ws.Cells(gyo, "A") = Join(sNo, "-")
Else
Ws.Cells(gyo, "A") = Right(w.Cells(1, "B"), 7)
End If