Frage

Gelegentlich werde ich über ein Tabellenkalkulationsprogramm geschehen, die leidet an magischen Tasten oder Listboxen, die größer oder kleiner im Laufe der Zeit.

Nichts im Code dieses anweist.

Hat jemand anderes diese Freude erfahren?

War es hilfreich?

Lösung

Das Problem scheint auf die Weise Windows nicht-nativen Auflösungen auf Monitoren zu beziehen und kann auf verschiedene Arten

vermieden werden

Das Problem kann ein kompletter Alptraum sein, wenn es passiert, aber es passiert nur mit Unterbrechungen.

Wir haben Arbeitsblatt vor kurzem eine Excel getestet von ein paar Dutzend Menschen verwendet und haben eine gute Vorstellung von der Ursache und einige mögliche Lösungen entwickelt.

Die Ursache scheint zu jeder Einrichtung zu beziehen, in denen Bildschirm anders als ihre native Auflösung in etwas verwendet werden. Dies kann leicht passieren, wenn ein Benutzer einen externen Monitor in einen Laptop gesteckt wird und die resultierende Bildschirmkonfiguration sorgfältig nicht wählen. Wenn zum Beispiel ein Laptop in einen Projektor (vielleicht einen alten mit einer nativen 1024 x 768 Display) angeschlossen ist, aber der Laptop ist ein 1280 x 800 und der Benutzer wählt auf doppelte im Display statt < strong> erstreckt es (Einstellungen in oder „Anzeigen“ Systemsteuerung in Windows 7 „an einen Projektor anschließen“), ist das Ergebnis ein unberechenbares und in der Regel unbefriedigend Bild auf beiden Bildschirmen sowohl in nicht-nativen Auflösungen. Wir haben festgestellt, dass diese Einstellungen fast immer Ursache ernsthafte Probleme mit Excel-Schaltflächen, insbesondere ActiveX-Steuerelemente. Manchmal, auf wiederholte Klicks, sie schrumpfen zu Unlesbarkeit; andermal dehnen sie sich aus dem gesamten Bildschirm zu decken.

Meistens, wenn wir Benutzer anweisen, die verwenden, erweitern Display-Einstellung und das Ergebnis ist zwei Bildschirme sowohl mit nativen Auflösungen, sehen wir nicht das Problem.

Es gibt auch Code-basierten Möglichkeiten, das Problem zu minimieren. Wir haben versucht, das Zurücksetzen die Lage und Größe der Tasten und Steuerelemente, wenn sie angeklickt wurden (die eine Menge langweilige Code fügt, wenn Sie eine Menge Tasten haben). Diese manchmal arbeitet. Wir probierten auch die Auto-Size-Eigenschaft von true in false und zurück Makel (dies manuell im Entwicklermodus arbeitet) und diese behebt mehrere Instanzen, aber anscheinend nicht alle.

Andere Tipps

gefunden, die Ursache Menschen zu sein Öffnen des spreasheet auf einer Maschine über Remote Desktop zugegriffen wird, und wobei ein Unterschied in der Bildschirmauflösung zwischen lokalen und Remote-Rechnern. Dies wirkt sich auf die Kontrollen zur Verfügung von der Control-Toolbox, aber noch das Problem zu erfahren, eine alte Schulformen Tasten-Steuerung verwendet wird, so meine unbefriedigende Antwort ist, dass zu verwenden.

Dies wurde plagt mich seit Jahren, ein und aus. Es gibt eine Reihe von Fixes um, aber sie scheinen hit and miss. Es wurde vorkommendes noch in Excel 2010 (passiert mir Mai 2014), und ist immer noch in Excel 2013 von einigen Berichten auftreten. Die beste Beschreibung, die ich gefunden habe, dass meine Situation zumindest übereinstimmt (Excel 2010, beteiligt keine RDP, keine Druckvorschau beteiligt) ist hier:

Microsoft Excel-Support-Team Blog: ActiveX und Formular-Steuerelemente selbst die Größe, wenn darauf geklickt oder eine Druckvorschau zu tun (in Excel 2010)

(Dies könnte keine Hilfe für Benutzer von Excel 2013 sorry)

EDIT: Hinzufügen Detail bei Technet Link jemals tot geht, der technet Artikel sagt:

ERSTENS installieren Microsoft Hotfix 2598144 für Excel 2010 , zur Verfügung: hier .

Zweitens, wenn Sie das Symptom ist "Ein ActiveX-Schaltfläche Änderungen an der falschen Größe, nachdem Sie es in einem Excel 2010-Arbeitsblatt klicken", dann sollten Sie:

  • Klicken Sie auf Start, dann auf Ausführen, geben Sie regedit in das Feld Öffnen und dann auf OK klicken.
  • Suchen Sie und markieren Sie den folgenden Registrierungsunterschlüssel HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ 14.0 \ Excel \ Options
  • Auf dem Menü Bearbeiten auf Neu, und dann DWORD klicken (32-Bit) Wert.
  • Typ LegacyAnchorResize, und dann drücken Sie die Eingabetaste.
  • Sie im Detailbereich mit der rechten Maustaste auf LegacyAnchorResize, und dann auf Ändern.
  • Im Feld Wert 1 ein, und klicken Sie auf OK.
  • Beenden Sie den Registrierungs-Editor.

ODER ZWEITE LINIE, wenn Ihr Symptom ist „Eine Knopfform Steuerung wird falsch in einer Arbeitsmappe angezeigt, nachdem Sie die Druckvorschau der Arbeitsmappe in Excel 2010 anzuzeigen“, dann sollten Sie:

  • Klicken Sie auf Start, dann auf Ausführen, geben Sie regedit in das Feld Öffnen und dann auf OK klicken.
  • Suchen Sie und markieren Sie den folgenden Registrierungsunterschlüssel: HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ 14.0 \ Excel \ Options
  • Auf dem Menü Bearbeiten auf Neu, und dann DWORD klicken (32-Bit) Wert.
  • Typ MultiSheetPrint, und dann drücken Sie die Eingabetaste.
  • Sie im Detailbereich mit der rechten Maustaste auf MultiSheetPrint, und dann auf Ändern.
  • Im Feld Wert 1 ein, und klicken Sie auf OK.
  • Wählen Sie die folgenden Registrierungsunterschlüssel wieder: HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ 14.0 \ Excel \ Options
  • Auf dem Menü Bearbeiten auf Neu, und dann DWORD klicken (32-Bit) Wert.
  • Typ LegacyAnchorResize, und dann drücken Sie die Eingabetaste.
  • Sie im Detailbereich mit der rechten Maustaste auf LegacyAnchorResize, und dann auf Ändern.
  • Im Feld Wert 1 ein, und klicken Sie auf OK.
  • Beenden Sie den Registrierungs-Editor.

ODER ZWEITE LINIE, wenn Ihr Symptom ist „Ein ActiveX-Schaltfläche, um eine falsche Größe in einem Excel 2010-Arbeitsblatt geändert wird, nachdem Sie die Druckvorschau des Arbeitsblatts sehen“, dann sollten Sie:

  • Klicken Sie auf Start, dann auf Ausführen, geben Sie regedit in das Feld Öffnen und dann auf OK klicken.
  • Suchen Sie und markieren Sie den folgenden Registrierungsunterschlüssel: HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ 14.0 \ Excel \ Options
  • Auf dem Menü Bearbeiten auf Neu, und dann DWORD klicken (32-Bit) Wert.
  • Typ LegacyAnchorResize, und dann drücken Sie die Eingabetaste.
  • Sie im Detailbereich mit der rechten Maustaste auf LegacyAnchorResize, und dann auf Ändern.
  • Im Feld Wert 1 ein, und klicken Sie auf OK.
  • Beenden Sie den Registrierungs-Editor.

Viel Glück. Dieses Problem ist so ein Schmerz ...

Dieses Problem ist in der Tat aufgrund Bildschirmauflösung. Am häufigsten kommt es, wenn der Benutzer eine Verbindung zu einem Projektor oder WebEx während die Excel-Anwendung.

Eine einfache Lösung für dieses Problem ist, den Benutzer zu bitten, ihre Maschine ohne Anschluss von Peripheriegeräten neu zu starten (Projektor) und öffnen Sie die Excel-Anwendung erneut.

Die Korrekturen früher diskutiert, programmatisch Größe ändern / Neupositionierung des Active-X-Steuerelemente nach Klick Ereignissen oder Bearbeiten die Registrierung (mit der D-Wort LegacyAnchorResize), das Problem nicht lösen für mich mit Excel 2010 / Windows 7 64 Bit.

Die Lösung war für mich hier: https://support.microsoft.com/ en-us / kb / 838006

Für Excel 2010 die Verbindung instruiert zu:

  1. Beenden Sie alle Programme, die ausgeführt werden.
  2. Klicken Sie auf Start, dann auf Ausführen, in das Feld Öffnen geben Sie regedit ein und klicken Sie auf OK.
  3. Suchen Sie, und klicken Sie dann auf den folgenden Registrierungsschlüssel:
  4. HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ 14.0 \ common
  5. Auf dem Menü Bearbeiten auf Neu, und klicken Sie dann auf Schlüssel.
  6. Geben Sie zeichnen, und dann drücken Sie die Eingabetaste.
  7. Auf dem Menü Bearbeiten auf Neu, und dann auf DWORD-Wert klicken.
  8. Typ UpdateDeviceInfoForEmf, und dann drücken Sie die Eingabetaste
  9. Rechtsklick auf UpdateDeviceInfoForEmf, und dann auf Ändern. 10.In das Feld Wert 1 ein, und klicken Sie auf OK.
  10. Sie im Menü Datei auf Beenden zu schließen Sie den Registrierungs-Editor.

Könnte es sein, dass Sie die Taste, um die Ecken einer Zelle Stick definiert ist, anstatt frei zu schweben?

Überprüfen Sie es mit

Format | Eigenschaften | Objektpositionierung

und wählen Sie alles andere als „bewegen und Größe mit Zellen“

Mein überwacht alle bei nativen Auflösungen eingestellt zu werden scheint, was das Geheimnis vertieft. Ich habe jedoch festgestellt, dass auf die Schaltfläche (Verschieben oder Ändern der Größe) irgendwie behebt das Problem, etwas zu tun. Diese Routine automatisiert die Bewegung, und dann wieder die ursprüngliche Einstellung.

Der folgende Code scheint das Problem zu lösen, zumindest für Tasten.

Public Sub StablizeButton(oButton As MSForms.CommandButton)

    With oButton

        ' If True, then temporary distortion is remedied only by clicking somewhere.
        ' If False, then the temporary distortion is remedied merely by moving the mouse pointer away.
        .TakeFocusOnClick = False
        ' For best results:  In the Properties Sheet, initialize to False.

        .Left = .Left + 200             ' Move the button 200 units to the right, ...
        .Left = .Left - 200             ' ... and then move it back.

    End With

End Sub

Invoke es wie folgt:

Private Sub MyButton_Click()
    StablizeButton MyButton

    ' Remainder of code.
End Sub

Ich habe dieses Problem ein paar Mal hatte und zu lösen habe ich die folgenden:

  1. Suchen Sie in meinem Laufwerk C: \ für jede Datei mit der Endung '.exd'
  2. Löschen Sie diese Dateien (es okay ist, dies zu tun)
  3. Implementieren Sie Code, dass Re-Größen die ActiveX-Objekte jedes Mal das Blatt geöffnet

fand ich dieses Problem verursacht wurde alles, was wir den Laptop in einen Projektor angeschlossen und die Datei gespeichert. Dann jedes Mal kam die Frage auf ging ich nur Schritte wiederholt 1. und 2. und meine ActiveX-Objekte verhielten wieder

Wir lösten gerade diese auf Unternehmensebene, indem folgenden Modul für alle Makro Arbeitsmappe aktiviert:

Option Explicit

Type ButtonSizeType
    topPosition As Single
    leftPosition As Single
    height As Single
    width As Single
End Type

Public myButton As ButtonSizeType

Sub GetButtonSize(cb As MSForms.CommandButton)
' Save original button size to solve windows bug that changes the button size to
' adjust to screen resolution, when not in native resolution mode of screen
    myButton.topPosition = cb.top
    myButton.leftPosition = cb.Left
    myButton.height = cb.height
    myButton.width = cb.width
End Sub

Sub SetButtonSize(cb As MSForms.CommandButton)
' Restore original button size to solve windows bug that changes the button size to
' adjust to screen resolution, when not in native resolution mode of screen
    cb.top = myButton.topPosition
    cb.Left = myButton.leftPosition
    cb.height = myButton.height
    cb.width = myButton.width
End Sub

Rufen Sie sie am Anfang und am Ende des Code wie folgt:

Private Sub CommandButton1_Click()

Application.ScreenUpdating = False
' Turn off ScreenUpdating to make sure the user dosn't see the buttons flicker
GetButtonSize CommandButton1 ' Saves original button size
' Do cool things
'
'
'
SetButtonSize CommandButton1 ' Restores original button size

Application.ScreenUpdating = True
' Turn ScreenUpdating back on when you're done
End Sub

Alt Faden, aber ich habe dieses Problem und löste es, indem zuerst die Gruppierung, in meinem Fall, Optionsfelder zusammen, das das Problem mit wurden dann einfach einstellen (Zurücksetzen), um die Größe dieser Gruppe in einem Auto_Open als solche:

With ThisWorkbook
    .Worksheets("1").Shapes("grpInput").Width = 383.1
    .Worksheets("2").Shapes("grpSuite").Width = 383.1
    .Worksheets("3").Shapes("grpLoc").Width = 383.1
    .Worksheets("4").Shapes("grpDecision").Width = 383.1
End With

[EXCEL Professional Plus 2016, 32-Bit-Version 1802 BUILD 9029,2167]

Ich habe das gleiche Problem mit und ich das Problem lösen könnte durch die Anzeige Skalierung in dem Anpassen von Fenstern 10, 64 Bits. Es ist extremelly einfach und es funktioniert für einen einzelnen Benutzer. Folgen Sie einfach den Anweisungen unten und Sie haben alle Form Controls, Blatt Formen, Figuren und ActiveX Controls zurück zu ihrer ursprünglichen Größe. Keine Notwendigkeit, Codierung oder erweiterte Tricks / wizardry / Hacks zu tun. Wenn der mitgelieferte Link gebrochen ist, nur diese Schritte wiederholen.

  1. Set Anzeige Benutzerdefinierte Skalierung in Windows 10, müssen Sie folgendes tun.

    Öffnen Sie die Einstellungen.

  2. Gehen Sie zu Einstellungen -. Anzeige
  3. Auf der linken Seite, klicken Sie auf die benutzerdefinierte Skalierung Link unter "Scale und Layout".
  4. Die Seite benutzerdefiniertes Layout wird geöffnet. Geben Sie einen neuen Wert für die Skalierung Prozent. [USE 100] !! ... und voila. Schließen und wieder öffnen Excel.

Es ist eine alte Post, aber ich hoffe, dass es jemanden hilft, die mit diesem lästigen und betonen Excel Problem handelt.

https://winaero.com/blog/set- Display-custom-scaling-windows-10 /

Dieses Problem ist sehr frustrierend, meine Erfahrung ist, dass die Eigenschaften in der Regel richtig eingestellt sind auf die ActiveX-Objekte. Ich habe ein UDF geändert von oben nur in der Lage sein, auf jedem aktives Blatt zu laufen, wird dies alles zurückwerfen, wie es vor dem Schrumpfen war.

Public Sub ResizeAllOfIt()
Dim myCtrl As OLEObject

For Each myCtrl In ActiveSheet.OLEObjects

 Dim originalHeight
 Dim originalWidth

 originalWidth = myCtrl.width
 originalHeight = myCtrl.height

  myCtrl.height = originalHeight - 1 
  myCtrl.height = originalHeight 
  myCtrl.width = originalWidth

Next myCtrl

End Sub

Ich laufe über dieses Thema die ganze Zeit in Excel 2010 (Was mich immer auf diesen Thread zurück bringt) und obwohl ich kein fix 100% gefunden, ich glaube, ich einige Informationen, die kann helfen, andere.

Während tediously mit den Tasten herumgespielt habe ich entdeckt, dass verschiedene Ereignisse für jedes Objekt unterschiedliche Probleme verursacht wurden. Zum Beispiel:

  • Button A - Die Größe der Schaltfläche auf dem MouseDown- Ereignisse schrumpfen würde
  • Button B - Der Text auf dem Mousemove-Ereignisse vergrößern würde (aber erst, nachdem die Schaltfläche geklickt wurde AKA, klicke ich auf eine Schaltfläche, Code ausgeführt wird, lassen Sie die Maus über die Schaltfläche, und dann, sobald ich die Maus bewegen. der Text würde das Bild)
  • Texteingabefeld A - Der Text auf dem Ereignis MouseUp vergrößern würde
  • Texteingabefeld B - Der Text auf dem Lost-Focus-Ereignisse vergrößern würde

Die einzige Lösung, die funktioniert für mich zu schreiben Code, um die Größe / Text für jedes Objekt Ereignis zurückzusetzen, die die Zufalls Redimensionierung verursacht wurde. Wie so ...

Wo MaterialNum der Name des Eingabefeldes ist, und MouseDown- ist die Veranstaltung ...

Private Sub MaterialNum_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

    ' Reset the size, font style, and size
    With Worksheets("QuoteForm").Shapes("MaterialNum")
        .Height = 21
        .Width = 101.25
        .Left = 972.75
        .Top = 87
        With .DrawingObject.Object.Font
            .Name = "Arial"
            .Size = 12
        End With
    End With

End Sub

Darüber hinaus hatte ich ein paar Optionen in Format Control (Rechtsklick object> Format Control) zu ändern:

  • Registerkarte Größe: Seitenverhältnis sperren Feld wird geprüft
  • Eigenschaften Registerkarte: Druck Objektfeld ist nicht markiert

Auch im Objekt-Bereich Eigenschaften (Rechtsklick Objekt> Eigenschaften) Ich habe TakeFocusOnClick auf false

Ja, das ist zeitraubend und mühsam, da es mit jedem Objekt getan werden muss, aber es ist die einzige fix, das funktioniert für mich (Und es scheint für Microsoft ein schneller fix zu sein, als warten, um dies zu beheben! !!) . Hoffentlich hilft es anderen.

Ich hoffe, andere finden diese Informationen hilfreich

bemerkte ich, dass keine dieser Antworten zu verankern die Steuerung zu einer bestimmten Zeile und Spalte. Das hat ziemlich sauber für mich gearbeitet als Zeilen / Spalten sind in der Regel besser vorhersagbar zu sein, als Monitore Auflösung.

Die nachfolgende Probe im Grunde „Maßnahmen“, wo das Objekt gehen soll, setzt sie dann dort im Worksheet_Activate Code. Im folgenden Beispiel wird die Schaltfläche Snap immer zur Deckung D8:F10.

Private Sub Worksheet_Activate()
'Note this is done in the sheet code, not a Module.

   With Me.Shapes("CommandButton1")

       .Left = Me.Range("A1:C1").Width
       .Top = Me.Range("a1:a7").Height
       .Width = Me.Range("D1:F1").Width
       .Height = Me.Range("A8:a10").Height

   End With

End Sub

Das Ergebnis erscheint wie unten dargestellt:

Es ist sehr seltsam. Die Breite und Höhe Eigenschaften nicht schrumpfen, wenn (entweder im Code oder mit dem Eigenschaftsblatt) abgefragt, aber scheinbar ändern sie tun.

Ich habe bemerkt, dass, wenn ich das Eigenschaftenfenster verwenden und die Breite von der Standard-15 ändern, sagen wir, 14 und dann zurück auf 15, es behebt es.

Der folgende Code funktioniert bei mir (und hat einen amüsanten visuellen Effekt auf das Blatt: Sie klicken, schrumpft es, das Bild flimmert, und es dehnt sich zurück).

Meine Lösung in Code (auf dem Click-Ereignis für das Kontrollkästchen):

Dim myCtrl As OLEObject
For Each myCtrl In ActiveSheet.OLEObjects
  myLab = myCtrl.Name
  myCtrl.Height = 14 ' to "wake up" the property.
  myCtrl.Height = 15 ' to reset it back to normal
  myCtrl.Width = 12 ' just making sure
Next myCtrl

Nach der Suche im Netz, näht es die beste Lösung, um die Datei als .xlsb (binär) ist das Speichern statt XLSM

Was ich begann ein einzelnes Unter vor einiger Zeit zu tun war zu haben, der die Größe aller meiner Kontrollen setzt. Ich kann dann diesen Unter von einem beliebigen Punkt im Code ausführen, wo die Kontrollen wachsen oder schrumpfen. Es ist manchmal eine Menge extra pingelig Arbeit, aber es hält meine Knöpfe aus meiner Tabelle zu essen.

Das habe ich nicht getestet, aber ich denke, das mit dem Zoom-Eigenschaft zu tun hat (vielleicht hinzufügen activewindow.Zoom = false).

Auch eine Schleife auf Formen tun können Weichen .Placement = xlMove auf Workbook_Open und window_activate definiert, ist dies Formen zu verhindern, dass mit Zellen Ändern der Größe (aber mit ihnen bewegen).

Ich bin mit Excel 2013 und nie dieses Problem hatte, auch ich es nie remote verwenden ..., nur um zu helfen versuchen, mit kleinen Ideen

Ich habe vielleicht ein Update gefunden: „ stellen Sie sicher, alle Formen auf dem Arbeitsblatt haben eindeutige Namen “ (einschließlich Kontrollkästchen / Optionsfelder (OLE-Steuerelemente) sowie Bilder und andere Formtypen ... )

Da das Problem intermittierend ist, kann ich nicht garantieren. Ich habe zwei Formen jetzt gut funktioniert dieses Update verwenden, aber „zwei“ ist eine sehr kleine Probe eingestellt und konnte nur Zufall sein. Nichts desto trotz, sind diese Schritte, die ich nahm:

I aufgeführten alle Formen im Problemblatt (wsForm) auf einem leeren Blatt (Sheet1):

Sub ListShapes()
Dim spShape As Shape
Dim intRow As Integer


Sheet1.Range("A1:F1") = Array("Name", "Left", "Top", "Width", "Height", "Bottom Right Cell")
intRow = 2

For Each spShape In wsForm.Shapes        

    Sheet1.Cells(intRow, 1).Value = spShape.Name
    Sheet1.Cells(intRow, 2).Value = spShape.Left
    Sheet1.Cells(intRow, 3).Value = spShape.Top
    Sheet1.Cells(intRow, 4).Value = spShape.Width
    Sheet1.Cells(intRow, 5).Value = spShape.Height
    Sheet1.Cells(intRow, 6).Value = spShape.BottomRightCell.Address

    intRow = intRow + 1

Next
End Sub

Ich zählte dann jede Form Name in Spalte A, eine Formel in Spalte G mit:

= COUNTIF ($ A $ 2: $ 120 $ A, A2)

Offensichtlich Bereich Anzug anpassen ... Sie können dann Filter in allen Formen, die nicht über ein „1“ in dieser Spalte. Die „rechte untere Zelle“ hilft Ihnen, die Form auf dem Arbeitsblatt finden: Umbenennungs durch die Form der Auswahl, dann neuen eindeutigen Wert im Namen / Referenzkasten oben Eingabe von Excel links.

Diese Form Liste half auch einige „tote“ Formen (0 Höhe oder Breite 0) zu finden, die lange vergessen und ungenutzt waren.

Ich hoffe, das funktioniert für Sie! Was das betrifft ... Ich hoffe, dass es für mich für weitere Werke Vorkommen ...

Wenn Sie nicht die Taste, um hin und her zu bewegen, können Sie die ursprüngliche Platzierung in Ihren Code setzen dann überprüfen nur gegen diejenigen. Schalten Sie die Bildschirmaktualisierung, wenn die Schaltfläche geklickt wird, überprüfen, um zu sehen, ob die die Platzierung auf der Steuerung unterscheidet, ändern Sie es zurück, wenn nötig, wiederum Bildschirmaktualisierung zurück auf

DP

Nach vielen der Lösungen auf diesem und verwandten Beiträge versuchen, entdeckte ich, dass die Lösung auf ein anderes Problem, dass Microsoft auch zuverlässig für dieses spezielle Thema gearbeitet geschrieben hatte, als in einer bestimmten Art und Weise angewendet wird, zumindest im Rahmen Ich bin arbeiten im Innern. Ich erleben diese Probleme in einer Auflösung native zu den Laptops wir hier und auf einem PC haben, wenn ich auf eine nicht-native Auflösung wechseln würde. Nämlich Laden Tasten auf eine größer als normale Größe, größer wird, wenn darauf geklickt, und Text und Bilder in diesen Tasten schrumpft (und zumindest die Einstellung für den Text gleich geblieben, damit ich keine Möglichkeit sehen konnte, um es programmatisch zu ändern zurück Diese oder aus anderen Gründen.) nicht zeitweise Probleme gewesen in meinem Fall. Ich habe wieder Probleme hatte, obwohl nach Druckvorschau unter Verwendung der Microsoft eine Lösung für hier . Ich habe dies versucht, und es scheint zu funktionieren.

Die Lösung: Für Excel, in der Nähe der App und löschen Sie die Datei MSForms.exd von C:\Users{UserName}\AppData\Local\Temp\Excel8.0 während in der Auflösung, dass Sie die Tasten in anzeigen mögen Sie auch für andere EXD-Dateien in Ihren lokalen AppData \ Temp-Ordner suchen könnten. für andere Office-Anwendungen.

Wie bereits erwähnt, ist dies eine Lösung von Microsoft für ein anderes Problem vorgeschlagen -, wo die Tasten arbeiten zu stoppen, nachdem die Dezember '14 Updates installiert sind.

erscheint die Steuerelemente Gruppierung für mich an der Arbeit. Ich würde upvote oder Kommentar, aber SO lässt mich nicht. Beachten Sie, dass dieses Problem kommt oft, wenn Sie W8 Display Skalierung verwenden und haben eine hohe Auflösung Laptop und älteren Monitor.

Ich habe dieses Problem in allen Objekten gefunden (Schaltflächen, Textfelder usw.). Wenn ich mehrere Blätter drucken / Druckvorschau, alle Blätter mit Ausnahme des ersten in der Folge haben Objekte verschoben oder vergrößert. Nach zahlreichen Tests, um die Seite die einfachste Lösung heran nach oben oder unten und Rückkehr zur ursprünglichen Einstellung.

Ich finde, dass das Problem nur zu passieren scheint, wenn Fenster fixieren eingeschaltet ist, die in der Regel in den meisten Anwendungen werden auf, wie Sie Ihre Befehlsschaltflächen usw. an einem Platz, wo sie Sicht nicht bewegen aus.

Die Lösung, die für be gearbeitet hat, ist die Kontrollen Gruppe, sondern auch sicherzustellen, dass die Gruppe über die Fenster fixieren Bereich erstreckt. Ich tue dies durch eine Kontrolle außerhalb der Fenster fixieren Bereich Hinzufügen, fügen Sie ihn in die Gruppe, sondern verbergen auch die Kontrolle, so dass Sie es nicht sehen.

Jetzt Excel 2013 verwenden und das passiert jedes Mal, wenn ich meine Anzeige verlängern, während Excel ausgeführt wird (und jedes Mal, wenn ich die Erweiterung entfernen).

Die Update ich angefangen habe Implementierung ist Hyperlinks anstelle von Knöpfen und einer öffnen ein Benutzerformular mit allen anderen ActiveX-Steuerelemente mit auf.

Fügen Sie diesen Code in eine REG-Datei. Doppelklicken Sie auf und und bestätigen. Starten Sie Excel neu.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Excel\options]
"LegacyAnchorResize"=dword:00000001

[HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Common\Draw]
"UpdateDeviceInfoForEmf"=dword:00000001

Versuchen Sie, die Zoom-Einstellung auf 100% Ändern der rechten unteren Schieber verändert werden. Regelte es für mich auf beiden Monitore in verschiedenen Größen.

Ich habe ein Update, das funktioniert, und löst das Problem für einen einzelnen Benutzer gefunden. Wenn Sie nicht meine kleine Tirade lesen möchten, können Sie direkt in die Lösung überspringen.

GESCHIMPFE:

Ich habe da die Dinosaurier dieses dumme Problem erlebt. In der Zwischenzeit haben Microsoft viele Ressourcen hatte unzählige wichtige Updates für die Office-Suite zu lösen und noch dieses Problem geht unadressierte. Es ist absolut ärgerlich. Ich habe überhaupt keinen Grund zu aktualisieren, wenn grundlegende Dinge wie das nicht funktioniert. Sicherlich jemand bei MS verwendet ActiveX-Steuerelemente in Excel direkt auf einem hochauflösenden Display, nicht wahr?

Ich habe nicht dieses Problem auftreten auf meinem Desktop-PC, keine Ahnung, warum, aber auf meiner Oberfläche Pro 4 mein ActiveX-Steuerelemente geht Bananen, wenn ich sie klicken.

Heute habe ich beschlossen, den Grund zu kommen. Ich suchte hoch und niedrig, versuchte eine jede Lösung auf verschiedene Foren vorgeschlagen (von denen keines funktioniert durch die Art und Weise). Es spielt keine Rolle, ob die Kontrollen gruppiert sind oder nicht, gesperrt oder nicht, Hotfix installiert ist oder nicht.

Gestern hatte ich ein anderes Problem mit den Dingen in einer anderen App namens Traktor (DJ-Software) misbehaving, wo Kontrollen herumspringen würde, wenn die Anzeige Skalierung auf einen Wert eingestellt wurde, der nicht genau ein Vielfaches von 100% betrug. Ein Benutzer gefunden die Lösung des Kompatibilitätsmodus für diese Anwendung zu bearbeiten war. Also habe ich das gleiche für Excel, und es funktionierte! Nun bleiben meine Kontrollen setzen, unabhängig von Bildschirmauflösung und Skalierung.

LÖSUNG:

(Stellen Sie sicher, Excel nicht ausgeführt wird)

  1. Suchen EXCEL.EXE (auf meinem System kann dies bei C: \ Programme \ Microsoft Office \ Office16 \ EXCEL.EXE)
  2. Rename "EXCEL.EXE" auf "_EXCEL.EXE" (es grundsätzlich etwas ändern anderes)
  3. Rechtsklick auf umbenannt EXCEL.EXE Datei, dann gehen Sie auf Eigenschaften> Kompatibilität Registerkarte> Einstellungen Abschnitt
  4. überschreiben hohe DPI-Skalierung Verhalten = Aktiviert und Skalierung erfolgt durch = Anwendung
  5. Klicken Sie auf OK
  6. Umbenennen "_EXCEL.EXE" zurück zu "Excel.exe"

Jetzt Excel wird bei seiner nativen Auflösung laufen und ActiveX-Steuerelemente wird nicht schief gehen. Der Nachteil ist nur, dass Excel nicht auf Bildschirmskalierung reagieren, so die Dinge ein wenig kleiner aussehen kann, als man möchte. Auf meiner Oberfläche Pro 4 ist mehr als akzeptabel

NOTES:

1) Die Schritte 2 und 6 sind erforderlich, um mit Excel 2016, da der Dialog Eigenschaften für EXCEL.EXE nicht auf die Registerkarte Kompatibilität bieten. Nach der Umbenennung wird die Registerkarte zur Verfügung.

2) Diese Lösung funktioniert nur auf eine Benutzerbasis. Das heißt, wenn Sie eine Excel-Datei mit ActiveX-Steuerelemente an Ihre Kollegen senden, der ActiveX-Steuerelemente wird nicht korrekt auf dem System angezeigt werden, wenn sie die Kompatibilitätsmodus-Einstellungen ändern.

3) Nach diesen Hack Anwendung, die zuvor beschädigten Excel-Dateien erscheinen, sich selbst zu reparieren, wenn Sie sie öffnen, mit allen Kontrollen erholt ihre ursprünglichen Abmessungen bestimmt.

Bitte Test und Kommentar, ich hoffen, dies kann jemand helfen, Prost!

Ich habe das gleiche Problem manchmal. In meinem Fall konnte ich es zu 100% auf einer Datei replizieren, aber es war inkonsistent auf eine praktisch identische Datei. Ich fand auch die Größe Fehler nicht dauerhaft war - ich konnte die Datei speichern und öffnen Sie die Schaltfläche Aussehen wiederherzustellen. Ich könnte auch ein neues Fenster erstellen und verwerfen dann das beschädigte Fenster. Ich benutze eine einzige Monitor-Konfiguration.

Für mich die Größe veränderte die Taste los, wenn ich das des Blattes zugegriffen HPageBreaks Sammlung. Ich war in der Lage, das Problem zu vermeiden, indem sie vorübergehend die Fensteransicht zu ändern, wie folgt:

ActiveWindow.View = xlPageBreakPreview
  ' do pagination stuff using HPageBreaks
ActiveWindow.View = xlNormalView
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top