1
私は失われた番号ごとに行を挿入したいと思っています。たとえば、私は "35C-1412-K01"と "35C-1421"を持っています。考えられるのは、1412から1421の間のすべての欠落した番号に対して行を追加することです。しかし、これまで私が使用したコードは機能しませんこれは、コードがセル内の最後の5文字を比較し、そのセルの中間の数字をさらに調べているためです。私の考えは、おそらく "MID"プロパティではなく "RIGHT"プロパティを使用することですが、実装には問題があります。最初の " - "、つまり "35TC-1411"の前に3文字以上あるセルもあるので、コードが3文字しかない場合は、コードを削除する可能性があります。これの助けがあれば大歓迎です。私は上記参照失われた番号ごとに行を挿入する
コード:
Option Explicit
Sub InsertNullTest()
Dim i As Long, gap As Long
Dim WorkRng As Range
On Error Resume Next
Set WorkRng = Application.InputBox(Prompt:="Range To Check", Title:="Select a Range", Default:=Selection.Address, Type:=8)
On Error GoTo 0
If WorkRng Is Nothing Then Exit Sub '<--| check user hasn't canceled the dialog box
With WorkRng
For i = .Rows.Count To 2 Step -1
gap = Right(.Cells(i), 5) - Right(.Cells(i - 1), 5)
If gap > 1 Then .Cells(i).Resize(gap - 1).Insert xlDown
Next
End With
End Sub
タグ番号の数値を見るだけの方法はありますか?私はちょうど、 "35E-1401AK"の後ろに "35E-1408"のようなタグが入っていることに気付きました。これらの2つのタグに対してコードを実行すると、挿入された行を取得する必要がありますが、エラーが発生します。それ以外の場合は動作しているようです –
Splitを読んだら、あなたはそれを試してみましょう。 35C-1412-K01の元の例では、v1(0)= 35C、v1(1)= 1412、v(2)= K01です。これは、指定した区切り文字に配列分割を返します。だから、ハイフンが1つしかないとエラーになります。 – SJR
ありがとうございました! –