Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
552to556
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
552to556
552to556
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Userform

Userform
26.01.2005 07:16:55
Klaus
Guten Morgen zusammen
Ich habe ein Riesenproblem mit einer Userform. Vorweg möchte ich mich für den "wilden" Code entschuldigen, aber es ist eben alles zusammengewürfelt aus dem Forum und über Recorder.
Das Problem liegt darin: Wenn ich die Userform Maske_Positionen aufrufe und dann die Positionen eingebe, funktioniert es zweimal einwandfrei. Beim dritten Mal bleibt das Makro hängen. Aber nur, wenn ich im grossen Textfeld Zeilenumbrüche oder Absätze mache.
Vielleicht hat ja jemand mal die geduld sich den Cod anzusehen.
Gruss Klaus

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform
P@ulchen
Hi Klaus,
ich nehme mal an, dass sich nicht viele Antworter auf Dein Problem hin melden werden...
Zuerst was Grundsätzliches:
Du stellst hier eine Datei auf den Server, die (von Ihrer Größe mal abgesehen) Mitarbeiterdaten einschl. E-Mail-Addressen etc. enthält. Schon mal was von Datenschutz gehört ? Oder nehmt Ihr Schweizer das nicht so genau? Ich hoffe sehr für Dich, dass Dir das nicht auf die Füße fällt...
Ich habe mir Deine Datei mal angeschaut:
1. Die Blätter Hilfstabelle und Absender haben sicher nur Datenbank-Funktion. Somit ist es eigentlich unnötig, in diesen Blättern irgendwelche Formatierungen vorzunehmen.
Mit dem CommandButton2 der Maske_Anfang löscht Du doch nur die Daten aus der Angebotsvorlage, bevor Du Maske_Angebotsersteller aufrufst.
Also ändere zB. den Code mal so:
Alt:


Private Sub CommandButton2_Click()
Application.ScreenUpdating = True
Sheets("Angebotsvorlage").Select
Rows("35:10000").Select
    Selection.ClearContents    
With Selection
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .ShrinkToFit = False
        .MergeCells = False
    End With
Selection.RowHeight = 15
Range("A35:j10000").Select
    Selection.Borders(xlEdgeBottom).LineStyle = xlNone
    Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
    Range("B35:J10000").Select
    Selection.Font.Bold = False
    Range("A34").Select
Sheets("Absender").Select
Unload Me
Maske_Angebotsersteller.Show
End Sub
Neu:
Private Sub CommandButton2_Click()
Application.ScreenUpdating = True  'Wozu ?
Sheets("Angebotsvorlage").Rows("35:65536").Delete
Range("A34").Select ' tut das Not ?
Unload Me
Maske_Angebotsersteller.Show
End Sub

Diesen Code eingesetzt, alle nicht benötigten Formate aus Hilfstabelle und Absender raus und dann mal alle unbenutzten Zeilen und Spalten löschen in allen 3 Blättern löschen...und siehe da, die Datei ist nur noch ca. 500kB groß...
Das nächste Problem sind die "Select´s" !
Hier mal ein Beispielcode aus Deiner Datei und eine Variante, wie man es ohne Selection lösen kann:
Alt:


Sub Ansprechpartner()
Application.ScreenUpdating = True
Sheets("Angebotsvorlage").Select
Sheets(1).Range("c65536").End(xlUp).Select
Selection.Offset(2, -2).Select
    Sheets("Angebotsvorlage").Select
Sheets("Hilfstabelle").Select
    Range("A160:C166").Select
    Selection.Copy
Sheets("Angebotsvorlage").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        True, Transpose:=False
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
End Sub
Neu:
Sub Ansprechpartner()
cRow = Sheets("Angebotsvorlage").Range("C65536").End(xlUp).Row + 2
Sheets("Hilfstabelle").Range("A160:C166").Copy
With Sheets("Angebotsvorlage").Range("A" & cRow)
    .PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    .PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
End With
Application.CutCopyMode = False
End Sub
Das von Dir eigentlich angefragte Problem tritt bei mir auch auf... nur bleibt nicht nur das Makro "hängen", sondern die gesamte Anwendung und es geht nur noch über den Taskmanager weiter. Eine Lösung zu diesem Problem kann ich Dir nicht nennen, da mir ganz einfach die Zeit fehlt, die vielfach verzweigten Codes weiter zu durchforsten.
Vielleicht splittest Du die ganze Datei mal und versuchst, Probleme detaillierter in´s Forum zu stellen.
Gruß aus Leipzig
P@ulchen
Das Forum lebt auch von den Rückmeldungen !
Anzeige
AW: Userform
27.01.2005 08:28:51
Klaus
Hallo Paulchen
Vielen Dank für deine Tips
Bei den persönlichen Daten habe ich einfach nicht daran gedacht, war so genervt...
Gruss
Klaus

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige