Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
508to512
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
508to512
508to512
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Absturz bei Excel XP2003????

Absturz bei Excel XP2003?
02.11.2004 08:31:31
xule

Hallo

Ich habe in eine bestehende Excelanwendung ein weiteres Makro eingebaut.
Bei mir läuft alles bestens.

Auf mehreren anderen Rechnern (habs nicht selbst gesehen, aber der Anwender sagts so) laufen ursprünglich enthaltene Makros nicht mehr, sobald meins mal ausgeführt wurde. Es soll sogar zu Excelabstürze geben.

Fehlerbeschreibung der Anwenders.

1) Altes Makro starten- die Preise werden getauscht
2) neues makro starten- der Text wird ersetzt
3) klick altes Makro- die Preise werden nicht getauscht, aber
die im Makro enthaltene Endzelle wird ausgewählt. Also liegt es irgendwie am
Ersetzten
4) wähle BEARBEITEN - ERSETZTEN - Excel stürzt ab

aber es geht auch anders:
1) klick mal auf meine Markos - die Preise werden getauscht
2) klick mal auf deine Markos- der Text wird ersetzt
3) wähle BEARBEITEN - SUCHEN und das Register ERSETZTEN und dann auf
SCHLIESSEN
4) klick nochmal auf meine Markos- die Preise werden wieder
getauscht
sobald du übersetzten willst, gehts wieder nicht

kann es sein, dass dein makro die Ersetzten-Funktion nicht richtig beendet?
an der fehlermeldung für fehlenden übersetztungen liegts übrigens nicht. ich
hab mal english und deutsch komplett ausgefüllt.

Hier zwei der ursprünglichen Makros:



      
Sub PRICE_INTERCOMPANY()
    Range(
"J:J").Select
    Range(
"J20").Activate
    Selection.Replace What:=
"=BRUTTO_?", Replacement:="=BRUTTO_INTER", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=
False, SearchFormat:=False, _
        ReplaceFormat:=
False
    Range(
"A9").Select
End Sub
Sub PRICE_NETTO()
    Range(
"J:J").Select
    Range(
"J20").Activate
    Selection.Replace What:=
"=BRUTTO_?", Replacement:="=BRUTTO_NETTO", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=
False, SearchFormat:=False, _
        ReplaceFormat:=
False
    Range(
"A9").Select
End Sub 



das neue von mir.



      
Sub TRANS_GERMA()
    
Dim Sprach%
    Sprach = 2
    Tausch (Sprach) 
'verzweigt ins Unterprogramm
End Sub
Sub TRANS_ENGLI()
    
Dim Sprach%
    Sprach = 4
    Tausch (Sprach) 
'verzweigt ins Unterprogramm
End Sub
Function Tausch(Sprach)
    
Dim Zeile%, ER%, LR%, Esp&, Lsp%, c, z, Tab1$, Tab2$, Such
    
Dim myMultiAreaRange As Range, Fehlwert%, x
    
Dim r0 As Range, r1 As Range, r2 As Range ' evtl. ergänzen<<<<<<<<<<<<<<<
    Tab1 = ActiveSheet.Name 'Name der Preisliste
    Tab2 = "Translation" 'Übersetzung Deutsch, Engl, Franz.
    Lsp = 7 'Spalte mit den meisten Werten<<<<<<<<<<<<<<<<<<<<<<<
    ER = 12 'erste Zeile Suchbereich<<<<<<<<<<<<<<<<<<<<<<<<
    
    LR = Cells(Rows.Count, Lsp).End(xlUp).Row 
'hier stehen die meisten Werte

    
'********************
    'Ausgetauscht werden nur die Spalten C(3) und G(7)!!!!!!!!!!!!!!!
    'sollten weitere Spalten mit übersetzt werden, hier Änderungen vornehmen...

    

Set r0 = Range("A10:J10"'Überschriftbereich
    Set r1 = Range(Cells(ER, 3), Cells(LR, 3))
    
Set r2 = Range(Cells(ER, 7), Cells(LR, 7))
    
'Set r3 = Range(Cells(ER, x), Cells(LR, x))'<<<<<<<<<<<<<<<
    Set myMultiAreaRange = Union(r0, r1, r2) 'Union(r0, r1, r2, r3)<<<<<<<<<<<<<<<
    '*********************
    myMultiAreaRange.Interior.ColorIndex = 0 'Rücksetzen der Farbmarkierungen
    For Each z In myMultiAreaRange
        Such = z.Value
        
If Such <> "" Then
            
Set c = Sheets(Tab2).Columns().Find(What:=Such, LookIn:=xlValues, _
                LookAt:=xlWhole, SearchOrder:=xlByColumns)
            
If Not c Is Nothing Then
                Zeile = c.Row
                
If Sheets(Tab2).Cells(Zeile, Sprach).Value <> "" Then
                    z.Value = Sheets(Tab2).Cells(Zeile, Sprach).Value
                
Else
                    z.Interior.ColorIndex = 35 
'Zelle grün, Übersetzung fehlt
                    Fehlwert = 1
                
End If
            
Else
                z.Interior.ColorIndex = 36 
'Zelle gelb, wenn Wert nicht gefunden
                Fehlwert = 1
            
End If
        
End If
    
Next
    
If Fehlwert = 1 Then
        x = MsgBox(
"gelb: Wort nicht gefunden" & Chr(13) & "grün: Übersetzung fehlt", vbCritical, "Farbige Felder fehlerhaft")
    
End If
        ActiveSheet.PageSetup.PrintArea = 
"$A$7:$J$" & LR 'Druckbereich wird gesetzt
End Function
 



Kennt jemand die Ursache dafür. Oder wie kann mein Makro geändert werden, damit es auch auf der älteren Version läuft...

Auf Wunsch gibts auch mal eine Musterdatei per mail




Gruß UD






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

Betreff
Datum
Anwender
Anzeige
AW: hier noch die Datei
Ulf
Ist nicht konsequent referenziert! Aber daran liegst nicht, wenn Tab1 bei Makroausführung aktiv ist. Der Code ansich läuft.
Ulf
AW: hier noch die Datei
xule
Ja. mitlerweile hab ich noch ActiveSheet ergänzt.
Der Anwender sogt trotzdem, das es nicht läuft..
Siehe Fehlerbeschreibung
Warum bei einer Excelversion ok. Bei anderer fehlerhaft.?
:-(

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige