Hallo,
ich habe eine Adressdatei in welcher in Spalte E
die Stra�e und Hausnummer steht.
Nun muss ich �berpr�fen, bei welchen Adressen keine
Hausnummer eingegeben wurde.
Es sind einige Tausend Datens�tze, daher w�re VBA sinnvoll.
Die Datens�tze sollten dann farbig markiert werden.
Wie kann ich das mit VBA l�sen ?
VBA daher, weil ich die Routine in Makros verwenden m�chte.
Danke
Gru�
Albe
> ich habe eine Adressdatei in welcher in Spalte E
> die Stra�e und Hausnummer steht.
>
> Nun muss ich �berpr�fen, bei welchen Adressen keine
> Hausnummer eingegeben wurde.
>
> Es sind einige Tausend Datens�tze, daher w�re VBA sinnvoll.
> Die Datens�tze sollten dann farbig markiert werden.
>
> Wie kann ich das mit VBA l�sen ?
W�re die Frage woran Du erkennen m�chtest ob da eine Hausnummer drin ist?
Also wenn ich mal sage das Stra�e22b eine Hausnummer hat, dann k�nnte
man einfach kucken ob eine Zahl drin ist und wenn ja, dann w�re das
die Hausnummer.
Alexander Wolff hatte unl�ngst mal eine Routine daf�r entwickelt, die
kannst Du auch in einer Tabelle verwenden.
Ich w�rde dann die Zeilen mit bedingter Formatierung markieren, die
passt sich dann auch an wenn eine Nummer eingegeben wird.
Andreas.
Function JustNumbers(ByVal What As String) As String
'Gibt nur die Zahlen aus What zur�ck
Dim Temp() As Byte, I As Long, k As Long
Temp = What
For I = 0 To UBound(Temp) Step 2
If Temp(I) < 58 Then
If Temp(I) > 47 Then
Temp(k * 2) = Temp(I)
k = k + 1
End If
End If
Next
JustNumbers = Left(Temp, k)
End Function
Hallo Andreas,
sorry - versteh diesen Code nicht. Habe die Fuction kopiert
jedoch passiert nichts.
Dein Ansatz stimmt : Es soll in Spalte E gepr�ft werden, ob es einen
Eintrag gibt welcher keine Zahl enth�lt und diesen dann farbig
makrieren.
D.h. es sollen alle Stra�en markiert werden, bei welchen keine
Hausnummer
mit erfasst wurde.
Wie kann ich das �ber den Code l�sen ?
Danke
Gru�
Albe
> sorry - versteh diesen Code nicht. Habe die Fuction kopiert
> jedoch passiert nichts.
Naja, aufrufen musst Du sie schon. ;-)
Deine Frage h�rte sich so an als h�ttest Du schon einen fertigen
VBA-Workaround zur Pr�fung fertig und wolltest nur noch eine Pr�fung
wegen der Hausnr...
Der Code muss in ein normales Modul, wie's geht steht hier:
http://www.online-excel.de/excel/singsel_vba.php?f=44#s2
Und wenn in Deiner Tabelle in
A1 Stra�e22b
steht, dann schreibst Du in
B1 =JustNumbers(A1)
rein.
Eine bedingte Formatierung bekommst Du selber hin?
Andreas.
> Und wenn in Deiner Tabelle in
> A1 Straße22b
> steht, dann schreibst Du in
> B1 =JustNumbers(A1)
> rein.
Ein paar Fälle werden aber falsch behandelt: z.B. "Straße des 17. Juni", oder
die Mannheimer Spezialitäten wie "C2" (Das ist praktisch der Straßenname, genau
genommen die Bezeichnung eines Straßenblocks. Diese Bezeichnungen laufen von A1
über L15 bis U6). Danach folgt noch die Hausnummer, vollständig wäre z.B. C2 5
IV. Stock.
Gruß
Bernhard Sander
> ich habe eine Adressdatei in welcher in Spalte E
> die Stra�e und Hausnummer steht.
>
> Nun muss ich �berpr�fen, bei welchen Adressen keine
> Hausnummer eingegeben wurde.
Hallo Albe,
Sub KeineHausNr()
Dim rngzelle As Range
Dim rngBer As Range
Dim blHatNr As Boolean
Dim intI As Integer
'Annahme: in Zeile 1 �berschriften
Set rngBer = Range(Range("E2"), _
Range("E" & Rows.Count).End(xlUp))
For Each rngzelle In rngBer
blHatNr = False
For intI = 1 To Len(rngzelle.Value)
If Mid(rngzelle.Value, intI, 1) Like "[0-9]" Then
blHatNr = True
Exit For
End If
Next
If blHatNr = False Then
rngzelle.Interior.ColorIndex = 4
End If
Next
End Sub
F�rbt alle Zellen in Spalte E (ausser E1 = �berschrift), die keine Zahl
enthalten --> gr�n.
--
Mit freundlichen Gr�ssen Eberhard
XP home XL 2000
Eberhard(punkt)W(punkt)Funke(at)t-online.de
On 28 Apr., 16:31, "Beck, Alwin" <unguel...@ungueltig.invalid> wrote:
> Excel 2003
>
> Hallo,
>
> ich habe eine Adressdatei in welcher in Spalte E
> die Straße und Hausnummer steht.
>
> Nun muss ich überprüfen, bei welchen Adressen keine
> Hausnummer eingegeben wurde.
>
> Es sind einige Tausend Datensätze, daher wäre VBA sinnvoll.
> Die Datensätze sollten dann farbig markiert werden.
>
> Wie kann ich das mit VBA lösen ?
>
> VBA daher, weil ich die Routine in Makros verwenden möchte.
>
> Danke
> Gruß
> Albe
mit der folgenden Prozedur kannst Du alle Zellen in Spalte E Deines
aktiven Blattes einfärben, die keine Ziffern enthalten:
Sub NoNumber()
Dim rngBereich As Range
Dim rngZelle As Range
Dim lngZeilen As Long
Dim intStellenanzahl As Integer
Dim intStelle As Integer
Dim bolNumber As Boolean
lngZeilen = ActiveSheet.UsedRange.Rows.Count
Set rngBereich = ActiveSheet.Range(Cells(1, 5), Cells(lngZeilen,
5))
For Each rngZelle In rngBereich
bolNumber = False
intStellenanzahl = Len(rngZelle.Value)
If intStellenanzahl > 0 Then
For intStelle = 1 To intStellenanzahl
If IsNumeric(Mid(rngZelle.Value, intStelle, 1)) Then
bolNumber = True
Exit For
End If
Next
If bolNumber = False Then rngZelle.Interior.ColorIndex = 4
End If
Next
Set rngBereich = Nothing
End Sub
Die von Bernhard genannten Sonderfälle (Anschrift mit Ziffer im
Straßennamen, aber ohne Hausnummer) werden dabei aber leider nicht
erfasst.
Gruß, Michael
> > B1 =JustNumbers(A1)
> Ein paar Fälle werden aber falsch behandelt: z.B. "Straße des 17. Juni", oder
> die Mannheimer Spezialitäten wie "C2" (Das ist praktisch der Straßenname, genau
Deswegen fragte ich Alwin ja auch woran er erkennen möchte ob da eine
Hausnummer drin ist. .-))
Aber Alwin freut sich bestimmt über Deine Lösung die alle diese Fälle
berücksichtigt. ;-)
Andreas.
On 28 Apr., 16:31, "Beck, Alwin" <unguel...@ungueltig.invalid> wrote:
> Excel 2003
>
> Hallo,
>
> ich habe eine Adressdatei in welcher in Spalte E
> die Stra�e und Hausnummer steht.
>
> Nun muss ich �berpr�fen, bei welchen Adressen keine
> Hausnummer eingegeben wurde.
>
> Es sind einige Tausend Datens�tze, daher w�re VBA sinnvoll.
> Die Datens�tze sollten dann farbig markiert werden.
>
> Wie kann ich das mit VBA l�sen ?
>
> VBA daher, weil ich die Routine in Makros verwenden m�chte.
>
> Danke
> Gru�
> Albe
mit der folgenden Prozedur kannst Du alle Zellen in Spalte E Deines
aktiven Blattes einf�rben, die keine Ziffern enthalten:
Die von Bernhard genannten Sonderf�lle (Anschrift mit Ziffer im
Stra�ennamen, aber ohne Hausnummer) werden dabei aber leider nicht
erfasst.
Gru�, Michael
Hallo,
danke f�r Eure Antworten. Das hat nun so funktioniert.
Vielen Dank.
Gru�
Albe
Hallo Albe,
wie wärs damit nur die letzten 3 Stellen zu prüfen?
Die Hausnummer sollte doch dort stehen.
Sub Hausnummer()
Dim Bereich As Range
Dim Zelle As Range
Dim Start As Long
Dim Eintraege As Long
Dim Halt As Long
Dim a
Dim b
Dim c
Halt = 0
Eintraege = ActiveSheet.UsedRange.Rows.Count
Set Bereich = ActiveSheet.Range("e:e")
For Each Zelle In Bereich
Start = Len(Zelle)
If Start = 0 Then
a = ""
b = ""
c = ""
End If
'prüfen ob der Eintrag mid. 3 Zeichen hast da sonst fehler kommt
If Start < 3 Then
Else
a = Mid(Zelle, Start, 1)
b = Mid(Zelle, Start - 1, 1)
c = Mid(Zelle, Start - 2, 1)
End If
If IsNumeric(a) Or IsNumeric(b) Or IsNumeric(c) = True Then
Else
Zelle.Interior.ColorIndex = 3
End If
Halt = Halt + 1
If Halt > Eintraege Then
Exit For
End If
Next
End Sub
Grüße
Hans-Karl
Sub Hausnummer()
Exit For
End If
Next
End Sub
Grüße
Hans-Karl
wie wärs damit nur die letzten 3 Zeichen zu prüfen?
Dort sollte doch die Hausnummer stehen.
Sub Hausnummer()
Exit For
End If
Next
End Sub
vielleicht etwas umständlich aber es funkt
Grüße
Hans-Karl