0
Excel 2010を使用しています.4桁のシーケンスを含むデータ列があります。これらのシーケンスは、アルファベットの後に100-999の数字を続けて繰り返します。だからA100、A101、A102 ... A999、そしてB100、B101 ... Z999まで。これらのシーケンス(すなわち、行)は24,000個あります。文字列シーケンスで不足している値を強調表示する方法
私が最初に以下のVBAスクリプトを試してみました:関数は、アルファベット文字を解析できないため
Function MissingNumbers(Rng As Range) As String
Dim X As Long, MaxNum As Long
MaxNum = WorksheetFunction.Max(Rng)
ReDim Nums(1 To MaxNum)
For X = 1 To MaxNum
If Rng.Find(X, LookAt:=xlWhole) Is Nothing Then
MissingNumbers = MissingNumbers & ", " & X
End If
Next
MissingNumbers = Mid(MissingNumbers, 3)
End Function
...しかし=MissingNumbers(A1:A23400)
とそれを呼び出すときに、私はエラーに走った、私は推測しているこれは、シーケンスの始めに。
私の質問:にはどのような公式を使用して強調表示し、別にリストするのですか私の最初の列に値がありませんか?余分明確にするため
、範囲内の欠損値
C996
C998
C999
D101
は... ...事前に
C996
*C997*
C998
C999
*D100*
D101
おかげだろう。
私はこれをどのように呼びますか?申し訳ありませんが、今日は初めてExcelを使用して、私が進んでいくうちにそれを取り上げました。 :-) – Hashim
さて、エラーで失敗した 'MissingSequence(A1:A23400)'で初めて呼び出そうとしました。それから、「関数」の前に 'Public'を追加しました。それはトリックを行うように見えました - ウィンドウを最小化し最大化する間に何かが確実に実行されていました。私は本当にそれが正常に実行されたことを確認するいくつかの並べ替えに本当に感謝しています。特に、このデータセットに欠落している数字があるかどうかは不明です。 – Hashim
@Hashim - VBEのイミディエイトウィンドウに結果を出力するための 'debug.print MissingSequence'を確認用に使用します。また、実際の範囲 'A1:A23400'が文字列リテラルであることを確認してください。私はあなたが 'Range(A1:A23400)'を必要とすると思います。 –