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