Microsoft Excel

Herbers Excel/VBA-Archiv

Zahlen suchen | Herbers Excel-Forum


Betrifft: Zahlen suchen von: Alois G
Geschrieben am: 29.12.2009 12:05:57

Hallo Excel Experten.
Beim Versuch das Beispiel https://www.herber.de/forum/archiv/632to636/t634685.htm#634685

für meine Zwecke anzupassen bin ich gescheitert. Ich versuche die fehlenden Zahlen automatisch in Spalte Z einschreiben zu lassen.
Meine Zahlen stehen in Spalte B.
Mein Anliegen heute ist es aus einer Reihe von Zahlen die Fehlende(n)zu finden.
Wie lös ich das?

Bsp
in Spalte B
64120
64121
64123
64124
64125
64127
64128
64130
64131
64132
64134
64135

Excel soll die Spalte B im Zahlenbereich 0-99999 durchsuchen, fehlt eine Zahl wie in diesem Fall
64122
64126
64129
64133

so sollen diese in der Spalte Z angedruckt werden

Vielen Dank für Eure Hilfe
Gruß Alois

  

Betrifft: AW: Zahlen suchen von: Josef Ehrensberger
Geschrieben am: 29.12.2009 12:20:23

Hallo Alois,

' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub listMissingNumbers()
  Dim lngMin As Long, lngMax As Long, lngIndex As Long, lngMissing() As Long
  Dim lngCnt As Long
  
  With ActiveSheet
    lngMin = Application.Min(.Columns(2))
    lngMax = Application.Max(.Columns(2))
    For lngIndex = lngMin + 1 To lngMax - 1
      If Application.CountIf(.Columns(2), lngIndex) = 0 Then
        Redim Preserve lngMissing(lngCnt)
        lngMissing(lngCnt) = lngIndex
        lngCnt = lngCnt + 1
      End If
    Next
    
    If lngCnt > 0 Then
      .Range("Z2").Resize(lngCnt, 1) = Application.Transpose(lngMissing)
    End If
    
  End With
  
End Sub



Gruß Sepp



  

Betrifft: AW: Zahlen suchen von: Renee
Geschrieben am: 29.12.2009 12:26:54

Hi Alois,

oder ein einfacher LoopIng:

Sub LochStopfen()
    Dim lRow As Long, lRowZ As Long
    lRowZ = 1
    With ActiveSheet
        For lRow = 1 To .Range("C" & .Rows.Count).End(xlUp).Row
           .Cells(lRowZ, 26).Value = .Cells(lRow, 3).Value + 1
           Do While .Cells(lRowZ, 26).Value < .Cells(lRow + 1, 3).Value
                lRowZ = lRowZ + 1
                .Cells(lRowZ, 26).Value = .Cells(lRowZ - 1, 26).Value + 1
           Loop
        Next lRow
        .Cells(lRowZ, 26) = ""
    End With
End Sub

Grüsse von Renée


  

Betrifft: AW: Zahlen suchen von: Alois G
Geschrieben am: 29.12.2009 13:21:01

Danke für die schnelle Hilfe.

Das ist genau was ich brauche.
Muß noch testen welche Lösung für mich besser bei großen Tabellen hinhaut.

Gruß Alois


  

Betrifft: AW: Zahlen suchen von: Alois G
Geschrieben am: 29.12.2009 13:18:36

Danke für die schnelle Hilfe.

Das ist genau was ich brauche.

Gruß Alois


  

Betrifft: AW: Zahlen suchen von: Höttl Wilfried
Geschrieben am: 29.12.2009 13:55:54

Hallo!

Hier eine Formellösung.


Tabelle1

 ABC
164119 64122
264120 64126
364121 64129
464123 64133
564124 #ZAHL!
664125 #ZAHL!
764127 #ZAHL!
864128 #ZAHL!
964130  
1064131  
1164132  
1264134  
1364135  

Formeln der Tabelle
ZelleFormel
C1{=KKLEINSTE(WENN(ZÄHLENWENN(A:A;ZEILE(INDIREKT("1:"&MAX(A:A)-MIN(A:A)+1))+MIN(A:A)-1)=0;ZEILE(INDIREKT("1:"&MAX(A:A)-MIN(A:A)+1))+MIN(A:A)-1); ZEILE())}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4

http://www.excelformeln.de/formeln.html?welcher=362

Gruß
Wilfried


  

Betrifft: AW: Zahlen suchen von: Alois G
Geschrieben am: 29.12.2009 14:43:08

Danke für diesen Tipp. Diese Lösung läst sich am schnellsten und besten an verschiedene Tabellen anpassen.

Gruß und Dank

Alois


Beiträge aus den Excel-Beispielen zum Thema "Zahlen suchen"