Zwei geöffnet Tabellen beinflussen (stören) sich gegenseitig

Diskutiere und helfe bei Zwei geöffnet Tabellen beinflussen (stören) sich gegenseitig im Bereich Microsoft Office im Windows Info bei einer Lösung; Excel 2016 in Office 365 Ich habe zwei XLSM-Tabellen mit einigen VBA-Code Wenn ich beide gleichzeitig öffne, dann geht die Laufzeit einer... Dieses Thema im Forum "Microsoft Office" wurde erstellt von NorbertHoltkamp, 16. März 2017.

  1. Zwei geöffnet Tabellen beinflussen (stören) sich gegenseitig


    Excel 2016 in Office 365


    Ich habe zwei XLSM-Tabellen mit einigen VBA-Code

    Wenn ich beide gleichzeitig öffne, dann geht die Laufzeit einer Bearbeitung drastisch hoch


    Ich habe an diversen Stellen jetzt eine Protokollierung der aktuellen Zeit eingebaut und folgendes festgestellt:


    Es handelt sich um eine Schachtelung For - For - while ... 1000 Schritte der äußeren For-Schleife benötigen zwischen 18 und 38 Sekunden (im Schnitt 20) ... wenn ich die 2. Tabelle schließe (oder nach dem Start von Excel noch nicht geöffnet habe) dann lieget die gemessene Zeit für einen 1000-er Block bei 0 oder 1 Sekunden. Die Daten die bearbeitet werden sind jeweils identisch.


    Es liegt nicht generell an den 2 geöffneten Tabellen, sondern anscheinend genau an diesen beiden.


    Irgendeine Idee wo der Grund liegen könnte?
     
  2. Claus Busch Win User

    Zwei geöffnet Tabellen beinflussen (stören) sich gegenseitig

    Hallo Norbert,

    Anlagen kann man hier nicht einfügen. Aber deinen Code könntest du doch kopieren und hier einfügen.

    Wenn man Mappen zur Verfügung stellen möchte, kann man diese bei einem Filehoster wie DropBox oder in einer Cloud wie OneDrive hochladen und hier den Link zur Datei posten.

    Claus
  3. Claus Busch Win User

    Zwei geöffnet Tabellen beinflussen (stören) sich gegenseitig

    Hallo Norbert,

    um etwas genaues zu sagen, müssten wir schon deinen Code kennen.

    Kann es sein, dass du nicht sauber referenziert hast und daher der Performance-Einbruch kommt? Geht deine Schleife über ein Tabellenblatt? Wenn ja, dann lies deine Daten in ein Array und mache dann die Schleife über dieses Array. Wenn im Speicher gearbeitet
    wird, ist das schneller als eine Schleife durchs Blatt.

    Claus
  4. NorbertHoltkamp Win User

    Zwei geöffnet Tabellen beinflussen (stören) sich gegenseitig

    Hallo Claus,

    aber gerne ... in anderen Foren wird das posten von Code im Text oft nicht gern gesehen

    Gruß Norbert

    Erläuterung:

    in Spalte 3 bzw. in "was" stehen Ausdrücke in der Form Name1/Name2

    Das Array Namen1 wird vorab aus der Tabelle1 gefüllt, die Namen sind dort sortiert aufsteigend. In das Array Index wird die Zeilennummer in der Tabelle geschrieben um den Bereich zu ermitteln in dem Name2 gesucht wird.

    Einiges im Code ist im Laufe der Zeit so entstanden, das könnte man sicher auch anders und besser formulieren, aber es läuft ja prinzipiell ;-)

    Call log("vor loop")
    For Line = 2 To letztezeile2
    If (Line Mod 1000) = 0 Then Call log("im loop" + Format(Line))
    Cells(Line, 3).Select

    was = Cells(Line, 3)

    trenn = InStr(was, "/")

    If trenn > 0 Then

    Name1 = Mid(was, 1, trenn - 1)

    Name2 = Mid(was, trenn + 1, 300)

    For i = 1 To AnzNamen

    If Namen1(i) = Name1 Then

    ii = Index(i)

    While ii < Index(i + 1)

    vgl = Sheets("Tabelle1").Cells(ii, 4)

    If Name2 = Mid(vgl, 1, Len(Name2)) Then

    Sheets("Tabelle1").Cells(ii, 7) = Sheets("Tabelle1").Cells(ii, 7) + 1

    Cells(Line, 6) = Sheets("Tabelle1").Cells(ii, 8)

    Sheets("Tabelle1").Cells(ii, 8) = Cells(Line, 2)

    Cells(Line, 5) = Sheets("Tabelle1").Cells(ii, 7)

    GoTo nextline

    End If

    ii = ii + 1

    Wend

    With Selection.Interior

    .Pattern = xlSolid

    .PatternColorIndex = xlAutomatic

    .Color = 65535

    .TintAndShade = 0

    .PatternTintAndShade = 0

    End With

    ' MsgBox (was + " Name2 nicht gefunden")

    GoTo nextline

    End If

    Next i

    With Selection.Interior

    .Pattern = xlSolid

    .PatternColorIndex = xlAutomatic

    .Color = 49407

    .TintAndShade = 0

    .PatternTintAndShade = 0

    End With

    ' MsgBox (was + " Name1 nicht gefunden")

    End If

    nextline:

    Next Line
    Call log("nach loop")
  5. NorbertHoltkamp Win User

    Zwei geöffnet Tabellen beinflussen (stören) sich gegenseitig

    Hallo Claus,

    Danke für den entscheidenden Tipp !!

    Normalerweise mache ich das in meinen VBA-Code auch, aber da diese Tabelle keine Zelle enthält in der eine Berechnung durchgeführt wird, das macht alles der VBA-Code, habe ich nur das Screen-Updating abgeschaltet.

    Ich war bisher auch der Meinung, dass immer nur Berechnungen in der aktiven Tabelle durchgeführt werden ... so wie man jetzt sieht, ist das nicht der Fall. Aber interessant finde ich schon, dass nicht das nicht das MAX oder MIN sondern das INDIREKT die lange
    Laufzeit verursacht hat.

    Viele Grüße

    Norbert
  6. Claus Busch Win User

    Zwei geöffnet Tabellen beinflussen (stören) sich gegenseitig

    Hallo,

    wenn viele Formeln und dann auch noch volatile, schalte die Berechnung während der Makro-Ausführung aus:

    Dim iCalc As Integer
    With Application
    
        .ScreenUpdating = False
    
        .EnableEvents = False
    
        iCalc = .Calculation
    
        .Calculation = xlCalculationManual
    
    End With
    
    On Error GoTo CleanUp
    [b]'Hier dein Code[/b]
    CleanUp:
    
    With Application
    
        .ScreenUpdating = True
    
        .EnableEvents = True
    
        .Calculation = iCalc
    
    End With
    Claus
  7. User Advert


    Hi,

    willkommen im Windows Forum!
Thema:

Zwei geöffnet Tabellen beinflussen (stören) sich gegenseitig - Microsoft Office

Die Seite wird geladen...

Zwei geöffnet Tabellen beinflussen (stören) sich gegenseitig - Similar Threads - geöffnet Tabellen beinflussen

Forum Datum

Excel Tabelle geöffnet

Excel Tabelle geöffnet: HalloIch hätte eine FrageWenn die excel Tabelle geöffnet istkommt bei meiner App folhenede Fehlermeldung wenn ich in die Excel Tabelle Daten schreiben möchte! "Netzwerkfehler bei der Verwendung...
Microsoft Office 8. April 2024

Store-Apps werden nicht geöffnet

Store-Apps werden nicht geöffnet: Wie öffne ich die Store App, wenn diese nirgends angezeigt wird?
Games und Spiele 25. September 2023

Der Microsoft Store kann nicht geöffnet werden.

Der Microsoft Store kann nicht geöffnet werden.: Ich habe bereits versucht den Cache zu leeren und habe den Store auch einmal deinstalliert und wieder instaliert.
Games und Spiele 26. August 2023

Blockiert sich das gegenseitig?

Blockiert sich das gegenseitig?: Ich wollte meine Profilinformationen bearbeiten. Da musste ich durch die Sicherheitsinformationen durch.Ich habe für Account A als Sicherheitsinformation Account B angeben. Umgekehrt habe ich für...
Apps 6. Juli 2022

Blockiert sich das gegenseitig?

Blockiert sich das gegenseitig?: Ich wollte meine Profilinformationen bearbeiten. Da musste ich durch die Sicherheitsinformationen durch.Ich habe für Account A als Sicherheitsinformation Account B angeben. Umgekehrt habe ich für...
Games und Spiele 6. Juli 2022

arbeiten mit zwei Tabellen

arbeiten mit zwei Tabellen: IGuten Tag an die Community ! Habe eine intelligente Tabelle Journal mit 6 Spalten: Kunden Nr. Name Vorname Adresse PLZ Ort Habe eine zweite, identische Tabelle - die heisst Kunden dort...
Microsoft Office 17. April 2020

Surface Precision Mous und Bluetooth Headset stören sich gegenseitig

Surface Precision Mous und Bluetooth Headset stören sich gegenseitig: Hallo, ich hab mir grade die Surface Precision Mous gekauft. Wenn ich versuche sie gleichzeitg mit meinem Sony Headset an meinem Laptop zu betrieben, dann stören sich die Geräte gegenseitig....
Surface 24. Mai 2019
Zwei geöffnet Tabellen beinflussen (stören) sich gegenseitig solved
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.