Excel auf MS Teams hängt sich auf
17.10.2022 12:45:52
captainkeksxx
Test_PE-xlsm (Formeln in Spalte D/E Anpassen) - https://www.herber.de/bbs/user/155710.xlsm (Blattschutz PW: test)
Data.xlsx - https://www.herber.de/bbs/user/155711.xlsx
ich habe ein Problem, welches hoffentlich eine simple Lösung hat, die ich gerade nur nicht sehe.
Ich habe eine Excel (Test_PE.xlsm) die auf MS Teams liegt und eine Datenbank enthält, die durch ein Formular gefüllt wird.
Die Speicherung der Daten des Formulars in die DB erfolgt so:
Sub Speichern()
On Error Resume Next
Dim arr As Variant
Dim rngData As Range
Dim PjkZeile As Long
PjkZeile = Application.WorksheetFunction.Match(Worksheets("PE_Formular").Range("H2"), _
Worksheets("Zusammenfassung " & Worksheets("PE_Formular").Range("B2")).Range("B:B"), 0)
If PjkZeile >= 3 Then
With Tabelle5
Set rngData = .Range("C5:NM5")
'Array dimensionieren
ReDim arr(1, 1 To .UsedRange.Columns.Count)
arr = rngData.Value
End With
With Tabelle2
.Range("C" & PjkZeile).Resize(UBound(arr, 1), UBound(arr, 2)).Value = arr
End With
Else: MsgBox "Fehler"
End If
End Sub
Die Werte transponier ich erst und werden dann in ein Array gespeichert und in die jeweilige Zeile der DB kopiert.
Nun hab ich in der DB 300 Spalten und einige enthalten Formeln und rufen aus einer anderen Excel (DATA.xlsx) Daten ab.
Damit diese Formeln nicht von dem einfügen des Arrays überschrieben werden, ist der Blattschutz aktiviert und die Zellen sind durch die Datenüberprüfung mit =NICHT(ZELLE("Schutz";D9)) geschützt.
Das Problem ist jetzt aber, dass beim einfügen des Arrays (hier):
with Tabelle2
.Range("C" & PjkZeile).Resize(UBound(arr, 1), UBound(arr, 2)).Value = arr
End With
sich Excel komplett aufhängt. Ich weiß, dass das an den Formeln in den Spalten liegt. Das Problem tritt NICHT auf, wenn die Test_PE.xlsm auf meinem Desktop liegt und sich die Formeln auf eine Mappe auf einem Serverlaufwerk beziehen. Also klassisch
=SVERWEIS($C9;'M:\BlaBla\_DATENBANKEN\[DATA.xlsx]STATUS'!$A:$SU;2;0)
So, verschiebe ich die Test_PE.xlsm aber auf Teams, dann hängt sich Excel auf und ich kann nicht mal den Code unterbrechen.Das tritt auch auf, wenn ich die DATA.xlsx, ebenfalls auf Teams verschiebe.
Ich habe versucht hiermit das Problem zu lösen, aber vergebens
Tabelle2.EnableCalculation = False
Mir ist auch aufgefallen, dass die Fehlermeldung des Zellschutzes =NICHT(ZELLE("Schutz";D9)) ca. 15sek. brauch, um zu erscheinen (bei Zellen mit den Formeln). Wenn die Test_PE.xlsm auf dem Desktop liegt, kommt sie SOFORT. Wie kann ich das Problem umgehen? Gibt es einen Code, der Excel maximal daran hindert, die Formeln als Formeln zu betrachten? Das Array anders einfügen?
Oder lässt sich was an der Scheißigkeit von MS Teams machen?
Ich habe mal die beiden Dateien angefügt. In Test_PE.xlsm muss man im Tab Zusammenfassung noch in den Spalten D und E die Formeln anpassen.