Probleme mit VBA-Code Excel

Hallo ihr Excelcracks,

Kurze, für euch einfache Frage :wink:

Ich habe hier einen bereits fertig geschriebenen Code. Dieser generiert eine Passwortliste. Leider kann ich nicht beliebig viele generieren, ansonsten kommt der Fehler „Laufzeitfehler 6, Überlauf“. Wie kann ich den Code so umschreiben, dass ich eine unbegrenzte, oder zumindest die höchst möglichste Anzahl an Passwörter generieren kann? Kann mir da jemand helfen?

Beim Fehler wird folgende Zeile markiert:

ReDim strHashArray(1 To lngCount * 2, 1 To 2) As String

Hier der vollständige Code:

Option Explicit

Private strHashArray() As String
Private lngMinPrim As Long, lngMaxPrim As Long

Public Sub prcPasswortGenerator()
Dim blnFound As Boolean
Dim strPassword As String, strCharacter As String, strArray() As String
Dim vntCharacters As Variant, vntRowsCount As Variant, vntColumnsCount As Variant
Dim intCharactersCount As Integer, intCharacters As Integer, intColumn As Integer
Dim lngRow As Long, lngHashNumber As Long, lngCount As Long
Dim dblStart As Double
vntCharacters = Array(„1“, „2“, „3“, „4“, „5“, „6“, „7“, „8“, „9“, _
„A“, „B“, „C“, „D“, „E“, „F“, „G“, „H“, „I“, „J“, „K“, „L“, „M“, _
„N“, „O“, „P“, „Q“, „R“, „S“, „T“, „U“, „V“, „W“, „X“, „Y“, „Z“, _
„a“, „b“, „c“, „d“, „e“, „f“, „g“, „h“, „i“, „j“, „k“, „l“, _
„m“, „n“, „o“, „p“, „q“, „r“, „s“, „t“, „u“, „v“, „w“, „x“, _
„y“, „z“)
intCharactersCount = UBound(vntCharacters) + 1
Do
vntRowsCount = Application.InputBox(„Wie viele Passwörter pro Spalte?“, _
„PasswortGenerator“, 10, , , , , 1)
If Not TypeName(vntRowsCount) = „Boolean“ Then
If vntRowsCount Fix(vntRowsCount) Or vntRowsCount > _
Rows.Count Or vntRowsCount Fix(vntColumnsCount) Or vntColumnsCount > _
Columns.Count Or vntColumnsCount 0 Then
lngStartMin = lngStart - (lngStart Mod 10)
lngStartMax = lngStart + 10 - (lngStart Mod 10)
Else
lngStartMin = lngStart
lngStartMax = lngStart
End If
For lngCounter = lngStartMin To 2 Step -10
If fncIsPrim(lngCounter - 1) Then lngMin = lngCounter - 1: Exit For
If fncIsPrim(lngCounter - 3) Then lngMin = lngCounter - 3: Exit For
If fncIsPrim(lngCounter - 7) Then lngMin = lngCounter - 7: Exit For
If fncIsPrim(lngCounter - 9) Then lngMin = lngCounter - 9: Exit For
Next
For lngCounter = lngStartMax To lngStartMax * 2 Step 10
If fncIsPrim(lngCounter + 1) Then lngMax = lngCounter + 1: Exit For
If fncIsPrim(lngCounter + 3) Then lngMax = lngCounter + 3: Exit For
If fncIsPrim(lngCounter + 7) Then lngMax = lngCounter + 7: Exit For
If fncIsPrim(lngCounter + 9) Then lngMax = lngCounter + 9: Exit For
Next
End Sub

Private Function fncIsPrim(ByVal lngTestNumber As Long) As Boolean
Dim lngCounter As Long
If lngTestNumber Mod 3 = 0 Then Exit Function
If lngTestNumber Mod 7 = 0 Then Exit Function
For lngCounter = 10 To CLng(lngTestNumber ^ 0.5) Step 10
If lngTestNumber Mod (lngCounter + 1) = 0 Then Exit Function
If lngTestNumber Mod (lngCounter + 3) = 0 Then Exit Function
If lngTestNumber Mod (lngCounter + 7) = 0 Then Exit Function
If lngTestNumber Mod (lngCounter + 9) = 0 Then Exit Function
Next
fncIsPrim = True
End Function

Danke für eure Hilfe!

Liebe Grüsse

bo

ps. Excel Version 2010 :wink:

Versuch doch einfach mal am Anfang des Codes ein Dim für ReDim strHashArray(1 To lngCount * 2, 1 To 2) As String zu formulieren.

Etwas größer als Du es brauchst, aber auf jeden Fall groß genug.
Das ewige Redim macht Deinen Speicher voll und dann läuft er irgendwann über.

Und noch zwei Bitten:

Derart langer Code schreckt die meisten hier ab und wir sind auch nicht die Fehler-Sucher für andere. Wenn es denn mal ein kurzer Code ist, ist es ok.

Und vor jedem Code hier im Board bitte eine Zeile setzen:

und nach dem Code dann

So kommt der Code dann auch strukturiert hier an.

Und noch einige „Naseweis“-Hinweise:

Vermeide „Call“, das wird sonst unübersichtlich.
Schau Dir mal Case an, es ist besser als fünf If hintereinander.

Vielleicht solltest Du noch ein paar „Kurse“ besuchen:
http://www.excel-training.de/lektion_frs.asp?id=34
http://www.excel-training.de/
http://kostenlose.rbytes.net/der-excel-lehrgang_down…
http://www.excelmexel.de/HTMLExcel/default.htm
(Allerdings habe ich nicht geprüft, ob die noch alle existieren.

Ich danke dir bestens für deine Antwort, und entschuldige den langen Code. Ich habe selber keine Ahnung von VBA, desshalb habe ich auch die Frage inkl. Code gestellt. Mit deinem Dim anstatt ReDim komme ich nicht wirklich weiter, da der Fehler dann hier angezeigt wird „lngCount“, konstanter Ausdruck erforderlich. Naja, ich als Laye in Excel bin genauso überfordert :wink:

Aber werde mir die Trainings einmal ansehen, ich danke! Falls du ev trotzdem noch einmal helfen könntest, wäre ich sehr sehr dankbar!

Liebe Grüsse

bo

Also ich habe mal selbst das mit dem Dim statt Redim versucht, daran liegt es aber nicht.
Dabei sind mir weitere „Eigenheiten“ des Codes aufgefallen:

  1. Im allgemeinen Teil dimensionierst Du strHashArray eindimenisonal, im Sub prcPasswortGenerator reDims Du das dann zweidimensional, großer Fehler!

  2. Es gibt Do Loop Schleifen ohne While oder Until Bedingung, das ist nicht gerade große Programmierkunst.

  3. Ich habe 19 Exit gefunden, das nennt der Fachmann dann Spagetti-Code.
    For 1 to 13 verlasse ich z.B. wie folgt:

    for I = 1 to 13
    if Bedingung = Wahr then
    'Aktion
    I = 14 ’ Verlassen der Schleife
    Next I

Also Deinen Code auf den Fehler hin zu prüfen ist unter den Bedingungen nicht (Zeitaufwand mehrere Wochen, da jeder Schritt im Einzelschrittmodus geprüft werden müsste) möglich.

Ich häng Dir mal meine alten Code (für 4 Zeichen, direkt ins Tabellenblatt) hier an:

Option Explicit

Function PW\_generate(No\_Term)
Dim Spec\_String As String
Dim Spec\_Char(16) As String
Dim I As Double
Dim Up\_Char As String
Dim Lo\_Char As String
Dim Nu\_Char As String
Dim Sp\_char As String
Dim PW\_Erg As String

Spec\_String = "!$()+.-\_',ÄÖÜäöü"
For I = 1 To 16
 Spec\_Char(I) = Mid(Spec\_String, I, 1)
Next I

'Groß = 65 -90
'Klein = 97 -122
' Zahlen = 48 - 57

Randomize
Nu\_Char = Chr(Int((10 \* Rnd) + 48)) '#1
Randomize
Up\_Char = Chr(Int((26 \* Rnd) + 65)) '#2
Randomize
Lo\_Char = Chr(Int((26 \* Rnd) + 97)) '#3
Randomize
Sp\_char = Spec\_Char(Int((16 \* Rnd) + 1)) '#4

Randomize
I = (Int((24 \* Rnd) + 1))

Select Case I
 Case 1 ' '1234
 PW\_Erg = Nu\_Char & Up\_Char & Lo\_Char & Sp\_char
 Case 2 ' '1243
 PW\_Erg = Nu\_Char & Up\_Char & Sp\_char & Lo\_Char
 Case 3 ' '1324
 PW\_Erg = Nu\_Char & Lo\_Char & Up\_Char & Sp\_char
 Case 4 ' '1342
 PW\_Erg = Nu\_Char & Lo\_Char & Sp\_char & Up\_Char
 Case 5 ' '1423
 PW\_Erg = Nu\_Char & Sp\_char & Up\_Char & Lo\_Char
 Case 6 ' '1432
 PW\_Erg = Nu\_Char & Sp\_char & Lo\_Char & Up\_Char
 '\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
 Case 7
 PW\_Erg = Up\_Char & Lo\_Char & Sp\_char & Nu\_Char
 Case 8
 PW\_Erg = Up\_Char & Lo\_Char & Nu\_Char & Sp\_char
 Case 9
 PW\_Erg = Up\_Char & Sp\_char & Lo\_Char & Nu\_Char
 Case 10
 PW\_Erg = Up\_Char & Sp\_char & Nu\_Char & Lo\_Char
 Case 11
 PW\_Erg = Up\_Char & Nu\_Char & Lo\_Char & Sp\_char
 Case 12
 PW\_Erg = Up\_Char & Nu\_Char & Sp\_char & Lo\_Char
 '\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
 Case 13
 PW\_Erg = Lo\_Char & Sp\_char & Nu\_Char & Up\_Char
 Case 14
 PW\_Erg = Lo\_Char & Sp\_char & Up\_Char & Nu\_Char
 Case 15
 PW\_Erg = Lo\_Char & Nu\_Char & Sp\_char & Up\_Char
 Case 16
 PW\_Erg = Lo\_Char & Nu\_Char & Up\_Char & Sp\_char
 Case 17
 PW\_Erg = Lo\_Char & Up\_Char & Sp\_char & Nu\_Char
 Case 18
 PW\_Erg = Lo\_Char & Up\_Char & Nu\_Char & Sp\_char
'\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
 Case 19
 PW\_Erg = Sp\_char & Nu\_Char & Up\_Char & Lo\_Char
 Case 20
 PW\_Erg = Sp\_char & Nu\_Char & Lo\_Char & Up\_Char
 Case 21
 PW\_Erg = Sp\_char & Up\_Char & Nu\_Char & Lo\_Char
 Case 22
 PW\_Erg = Sp\_char & Up\_Char & Lo\_Char & Nu\_Char
 Case 23
 PW\_Erg = Sp\_char & Lo\_Char & Nu\_Char & Up\_Char
 Case 24
 PW\_Erg = Sp\_char & Lo\_Char & Up\_Char & Nu\_Char

End Select
PW\_generate = PW\_Erg
 
End Function


Sub Fülle\_Tabelle1()
Dim A As Double
Dim I As Double

Sheets("Tabelle1").Select 'hier das Tabellenblatt wählen
For A = 1 To 10 ' Column Anzahl der Spalten
 For I = 1 To 30 'Row Anzahl der Reihen
 Cells(I, A) = PW\_generate(1) ' in die Zelle schreiben

 Next I
Next A
End Sub

Versuch es doch mal damit, das kannst Du sicher besser durchschauen.

wooow, ich danke dir bestens!! Werde mir den Code in Ruhe anschauen, ev schaffe ich es sogar auf mehrere Stellen zu erweitern. Funktionieren tut er, ich stehe tief in deiner Schuld!!

Ich danke dir. Zum anderen Code, den habe ich logischerweise nicht selber geschrieben, da ich ja keine Ahnung habe :wink:

Herzlichen Dank!

Liebe Grüsse

bo

Hier ein paar Hilfen für Dich:
Nu_Char ist ein Zeichen aus den Ziffern 0-9 (von numeric character)
Up_Char ist ein Großbuchstabe (von upper-case character)
Lo_Char ein Kleinbuchstabe (von lower case character)
Sp_Char ein Sonderzeichen aus der Auswahl von oben = Spec_String (der ist html-sicher!)
dort wo '#1 '#2… dran steht, wird je eines dieser Zeichen erzeugt.
In den Case-Anweisungen wird dann aus einzelnen Buchstaben/Zeichen das Passwort zusammengesetzt aber immer mit vertauschten Plätzen, damit man beim Hacken nicht schon weiß, dass Position 3 eine Ziffer ist!

Danach wird der String an die Function übergeben.

Du musst eigentlich nur Up_char ersetzen durch Up_Char1 und Up_char2 und dann entsprechend 2 Groß-Buchstaben erzeugen und auch zwei zum Passwort addieren (&amp:wink:. und schon sind es fünf Zeichen. Bei sechs Zeichen verdoppelst Du halt zusätzlich Lo_Char. Bei mehr Bedarf kann man auch drei, vier … Zeichen einer Ordnung nehmen.

Sollte alles nicht helfen, kannst Du gern nochmals anfragen.

Aber bitte erst mal selbst ausführlich probieren.

Und speichere vor jeder Änderung ab, sonst kann es passieren, dass sich Excel aufhängt und alle bisherigen Verbesserungen sind verloren! Am Besten, du versionierst: Mein_Code_1.xls wird dann Mein_Code_2 xls usw. So kann man immer auf frühere (bessere) Versionen zurückgreifen.

Herzlichen Dank! Ich habe alle deine Funktionen in verschiedenen Farben markiert. Somit ist e smir gelungen verschiedene Stellen zu erzeugen.
Nun werde ich deinen Code in langer Arbeit etwas umschreiben. So dass ich nur Zahlen, klein, und Grossbuchstaben erhalte, und natürlich alle zusammen. Ziel ist es jegliche Kobinationen bis 8 stellig zu besitzen. Also 1x a-z, 1x A-Z, 1x A-Z,a-z,1-9 und dies 4-8 stellig. Ich denke ich schreibe jedesmal einen neuen Code, somit kann ich dann auch immer wieder sofort neue Kombinationen bilden.
Ich habe also verstanden! Dank dir!
Aber es bleiben trotzdem 2 Fragen:
Wenn wir jetzt einfachhalber von den Zahlen 0-9 ausgehen, sind das 10 Zeichen, bei 5 stelligen Kombinationen ergibt dies (laut Internet) eine Kombinationsmöglichkeit von 100000. Wenn ich jetzt also 100000 Zahlenkombinationen generiere, kann ich davon ausgehen dass jede Kombination dabei ist? Oder kann es sein dass Excel die gleiche Kobination ein zweites Mal generiert?
Natürlich müsste ich Nu_Char1, 2, 3, 4, 5 erstellen, aber habe ich so jede Kobination?

Und könntest du mir folgender Abschnitt erklären? (Nicht die Wörter die du bereits hast, aber alles nach dem = Zeichen, und ohne die Sonderzeichen am Schluss, die kenne ich auch schon dank dir)

Randomize
 Nu\_Char = Chr(Int((10 \* Rnd) + 48)) '#1
 Randomize
 Up\_Char = Chr(Int((26 \* Rnd) + 65)) '#2
 Randomize
 Lo\_Char = Chr(Int((26 \* Rnd) + 97)) '#3
 Randomize
 Sp\_char = Spec\_Char(Int((16 \* Rnd) + 1)) '#4


    
    
    Ich hoffe man hat eine Ahnung davon was ich möchte.. Und dann natürlich noch einmal danke für deine Zeit!
    
    Liebe Grüsse
    bo

… Wenn
ich jetzt also 100000 Zahlenkombinationen generiere, kann ich
davon ausgehen dass jede Kombination dabei ist? Oder kann es
sein dass Excel die gleiche Kobination ein zweites Mal
generiert?
Natürlich müsste ich Nu_Char1, 2, 3, 4, 5 erstellen, aber habe
ich so jede Kobination?

Nein, das ist eher unwahrscheinlich. Bei der Menge vermute ich zwischen 2 und 5 % Doppelte. Also Du erreichst nur 95 bis 98 % aller Möglichkeiten. Eine Prüfung auf Doppelte würde bei der Code-Ausführung einen Zeit-Faktor 8 bis 16-fach ausmachen und ist daher nicht praktikabel.

Und könntest du mir folgender Abschnitt erklären? (Nicht die
Wörter die du bereits hast, aber alles nach dem = Zeichen, und
ohne die Sonderzeichen am Schluss, die kenne ich auch schon
dank dir)

Randomize

'startet den Timer neu, damit Wiederholungen bei den Zufallszahlen vermieden werden

Nu_Char = Chr(Int((10 * Rnd) + 48)) '#1

Hier wird ein Zeichen aus einer Zufallszahl erzeugt.
Rnd ist eine Zufallszahl zwischen 0 und 1, damit 10 Werte herauskommen muss ich diese mal 10 nehmen.
Bei 26 Buchstaben halt dann mal 26. Da das Ergebniss der Multiplikation Nachkommastellen hat werden diese mit ‚‚Int‘‘ abgeschnitten. Der + Bereich bestimmt womit die 10 Zufallszahlen beginnen.
Die 0 hat ASCII 48 also muss ich bei Zahlen 48 hinzuzählen.
Das große A hat 65 also + 65
Mit Chr mache ich aus einer Ganzzahl zwischen 0 und 255 ein ASCII-Zeichen.

Bei Sp_char = Spec_Char(Int((16 * Rnd) + 1)) nehme ich ein Zeichen aus dem Array mit den 16 Sonderzeichen per Zufallszahl.
Dieses Array wurde hier gebildet:

Spec\_String = "!$()+.-\_',ÄÖÜäöü"
For I = 1 To 16 
 Spec\_Char(I) = Mid(Spec\_String, I, 1)
Next I 

das

 ist ein HTML-Befehl, den muss mann ordnungsgemäß beenden, sonst wirkt er nicht oder falsch.
Zum Beenden setzt mann den Schrägstrich (=geteilt) vor den Befehl. also 

Das hattest Du oben leider noch falsch gemacht (kommt vor), dann aber beim nächsten Mal.

Noch was vergessen,
hier findest Du ASCII-Tabellen:

www.amathis.ch/ASCII-Tabelle.pdf
http://www.tcp-ip-info.de/tcp_ip_und_internet/ascii.htm
http://www.calo.de/lhtml_z.htm

Ob beim Chr(XXX) immer genau dieses Zeichen herauskommt, dass in der Tabelle steht, sollte man allerdings vorher testen. Es gibt inzwischen verschiedene ASCII-Tabellen (nach Ländern), die sich ab ASCII 128 unterscheiden. Die 128 Zeichen bestehend aus 33 nicht druckbaren (sogenannten Steuerzeichen) sowie 95 druckbaren.
CHR(13) ist z.B. ein Zeilenanfang (Carrige Return)
CHR(10) eine neue Zeile
CHR(7) gibt ein Beeep (Ton) auf dem PC-Lautsprecher aus

Ganz ganz ganz herzlichen Dank!!!

Absolut nicht selbstverständlich dass jemand mit einem solchen Engagement hilft, und dabei noch so viel erklärt.

Das wegen den 2-5% doppelten ist auch nicht so schlimm, dann gehe ich einfach manuell mit einer Formel über die Liste, wenn sie abgeschlossen ist. Und generiere einfach 2x. Dann wird es wohl klappen. Zudem reichen 95% auch aus.

Ich bedanke mich noch einmal, und erlaube mir, dich noch einmal zu kontaktieren falls es Probleme geben sollte. Was ich aber nicht denke, da es im Grundsatz bereits funktioniert, und ich nicht auf den Kopf gefallen bin :wink:

Liebe Grüsse

bo

Da das mit den Doubletten ja doch wichtig ist, habe ich den Code mal daraufhin umgebaut, dass er den Vergleich mit alten PW vornimmt.
Die Function ist gleich geblieben, nur die Sub hat sich geändert.
Aber Vorsicht: Ab einem halben Excel-Sheet (30.000 Zeilen × 250 Spalten) läuft das Makro dann schon mal mehrere Stunden bis mehrere Tage.

Sub Fülle\_Tabelle1()
Dim A As Double 'Spalte der nächsten Eintragung
Dim I As Double 'Zeile der nächsten Eintragung
Dim B As Double 'Spalte der Prüfzelle
Dim J As Double 'Zeile der Prüfzelle
Dim PW\_New As String 'Neues Passwort
Dim PW\_Old As String 'bereits vergebenes Passwort


Sheets("Tabelle1").Select
For A = 1 To 10 '10 Spalten
 For I = 1 To 30 '30 Zeilen
 PW\_New = PW\_generate(1) ' ein Passwort generieren
 'nun noch prüfen ob es bereits in der tabelle steht
 For B = 1 To A 'muss nur bis B geprüft werden, da bisher nur bis dort eingetragen
 For J = 1 To I ' muss nur bis I geprüft werden, da bisher nur bis dort eingetragen
 PW\_Old = Cells(J, B) 'Bisheriges Passwort auslesen
 If PW\_Old = PW\_New Then 'Bei Geichheit:
 PW\_New = PW\_generate(1) ' neues PW generieren
 B = 1 'PrüfSpalte wieder auf 1 = A setzen
 J = 1 'Prüfzeile wieder auf 1 setzen
 ' damit wieder alle von Vorn geprüft werden.
 End If ' Ende der Gleichheit
 Next J
 Next B
 Cells(I, A) = PW\_New ' Passeort in die Zelle schreiben

 Next I
Next A
End Sub

Es könnte durch die Rücksprünge B = 1 und J = 1 auch zu einem Fehler kommen, da hier jede Menge Schrott im Speicher bleibt und es daher einen ‚‚Laufzeitfehler 6, Überlauf‘‘ geben könnte. Aber probieren kann man es ja.

Noch ein Nachgang
Also ich hab es mal mit Zeitmessung und Ermittlung der Doppelten durchlaufen lassen:
100 Spalten × 30 Zeilen unter einer Minute,
100 × 90 schon 2 Minuten,
100 × 150 = 7 Minuten
100 × 300 = 42 Minuten
Jeweils ca. 1 % Doppelte
Ergebnis: Die Zeit nimmt im Quadrat mit der Menge zu.
Dann ergeben sich als Prognose:
250 × 7.800 = 2 Jahre
250 × 16.000 = 1.100 Jahre
Also je mehr desto eher ohne Prüfung. Das heißt die ursprüngliche Sub und ca. 1% Doppelte.

Außerdem hängt sich das ganze in einer Endlosschleife auf, wenn man mehr Zellen füllen will als die Berechnung ergibt.
Hier für meinen Fall:
26 (Buchstaben) × 26 (Buchstaben) × 10 (Ziffern) × 16 (Sonderzeichen) = Maximal 108.160 Ergebnisse.
Danach sucht das Makro immer neue Lösungen, findet aber nur die Doppelten, weil es keine neuen mehr gibt.

Wenn Du mir hier im Board eine Einmal-E-Mail-Adresse (Wegwerf-Adresse) mitteilst, schick ich Dir dorthin meine Mailadresse und wir können in Ruhe direkt mailen.

Woow, das sind ganz neue Aspekte… Ich denke ohne Ermittlung der doppelten fahre ich besser, da ich eine grosse Anzahl an Passwörtern brauche und generieren muss. Das Problem hierbei ist jedoch, dass die Datei, sprich die generierten Passwörter so gross werden, dass ein bearbeiten sehr erschwert wird, und sich Excel immer wieder aufhänkt. Aber ich habe auch nicht den schnellsten PC :wink:
Ich muss die Liste dann auch noch irgendwie anständig in ein Editor txt file packen,und die doppelten irgendwie aussortieren… aber das ist jetzt mit probieren und üben verbunden:wink:

Hier meine Mailadresse: [email protected] (heisse nicht Berger :wink:)

Gruss

bo

ps. ev könnte man die Überprüfung der doppelten nach dem generieren machen, und quasi alle doppelten selbstständig löschen lassen. Wenn man dann das Ganze 2x generiert, die Liste zusammenfügt, dann wieder aussortiert, müsste man doch die 2-5% in der zweiten Liste haben, so das man auf 100% kommt?! Jedoch habe ich gestern abend das Ganze in ein Worddokument einfügen wollen, um so festzustellen wie viele Wörter ich habe… Naja, ich müsste dann den Task Manager um hilfe bitten ^^ Es ist und bleibt also noch eine Knacknuss… :wink:

Habe Dir um ca. 9:39 eine Mail mit dem Betreff: „Wer-Weiss-Was Amtsschimmel“ geschickt mit einem Gruß aus einer großen Stadt. Nur damit Du auch weißt, dass das meine Mail ist (Könnten sich ja noch andere hier reinhängen)

Sorry,
kann ich nicht helfen

J.D.

Hallo,

hatte Dir was zum Problem Deines Kollegen (Löschen gleicher Personen in mehreren Mappen) auf dein Temp geschickt, scheint nicht angekommen zu sein.

Melde Dich auf meinem Temp, dann schick ich es erneut

Gruß

Amtsschimmel

Hi,

sorry für die späte Rückmeldung.
Meine VBA - Kenntnisse beziehen sich auf Access; also eher das Anfertigen und Füllen von Masken und Feldern.

Gruß

Hallo bo,
kannst du bitte ein bisschen näher spezifizieren, unter welchen Umständen der Fehler auftritt? Also zumindest bei der Eingabe von wie vielen Spalten und Zeilen?

Das würde das Suchen etwas beschleunigen :smile:

lg
Katharina