Excel 2010-Bildlaufleiste geht zu weit

1187
Guest

Mein Problem wird im Druckbild unten veranschaulicht:

Excel 2010-Bildlaufleiste geht zu weit

Ich habe viel im Internet gesucht und fast alle Quellen sagen, die leeren Zeilen am Ende des Blattes zu löschen und das Dokument zu speichern. Dies wird zum Beispiel hier vorgeschlagen (siehe Abschnitt 2f).

Manchmal funktioniert das, aber meistens nicht!

Ich weiß nicht, ob dies relevante Informationen sind oder nicht, aber mein Excel-Dokument enthält drei benutzerdefinierte Makros, darunter zwei, die sich auf die Formatierung von Kommentaren beziehen. Das Blatt "Notizen A" enthält viele Kommentare, die meisten davon mit Bildern als Hintergrund. Mein Dokument ist auch nicht geschützt. Ich glaube nicht, dass das Problem darin besteht, dass die zusätzlichen Zeilen gesperrt sind.

Gibt es eine endgültige Lösung dafür?

Hinzugefügt: Hier sind die Codes meiner drei Makros.

Modul 1: Dies ist ein Makro, das die Buchstabenkette eines Wortes alphabetisch sortiert. Wenn Sie es beispielsweise auf eine Zelle mit HELLO anwenden, erhalten Sie EHLLO als Ausgabe.

Option Compare Text Function SortString(ByVal iRange, Optional Croissant As Boolean = True) 'Trevor Shuttleworth, mpep, modifié fs, mpfe Dim i%, j%, sTemp$ For j = 1 To Len(iRange) - 1 For i = 1 To Len(iRange) - 1 If Mid(iRange, i, 1) > Mid(iRange, i + 1, 1) Then sTemp = Mid(iRange, i, 1) Mid(iRange, i, 1) = Mid(iRange, i + 1, 1) Mid(iRange, i + 1, 1) = sTemp End If Next Next  If Croissant = False Then For i = Len(iRange) To 1 Step -1 SortString = SortString & Mid(iRange, i, 1) Next Exit Function End If  SortString = iRange  End Function 

Modul 2: Dies ist ein Makro, das automatisch Kommentare mit Wörtern ändert.

Sub Fitrangecomments() 'Updateby20140325 Dim rng As Range Dim WorkRng As Range xTitleId = "KutoolsforExcel" Set WorkRng = Application.Selection Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8) For Each rng In WorkRng If Not rng.Comment Is Nothing Then rng.Comment.Shape.TextFrame.AutoSize = True End If Next End Sub 

Modul 3: Dies ist ein Makro, das den Benutzer auffordert, ein Hintergrundbild für einen zu erstellenden Kommentar auszuwählen und die Größe des Kommentars automatisch an die Bildabmessungen anzupassen.

Sub InsertComment()  Dim strImagePath As Variant Dim objImage As Object  strImagePath = Application.GetOpenFilename("Picture, *.jpg; *.png; *.bmp") If strImagePath = False Then Exit Sub  Set objImage = CreateObject("WIA.ImageFile") objImage.LoadFile strImagePath  With ActiveCell If .Comment Is Nothing Then .AddComment ("") .Comment.Shape.Fill.UserPicture strImagePath .Comment.Shape.Height = objImage.Height * 0.75 .Comment.Shape.Width = objImage.Width * 0.75 End With  End Sub 
2
Sie haben wahrscheinlich Ihr eigenes Problem diagnostiziert. Bei den benutzerdefinierten Makros handelt es sich wahrscheinlich um Leerräume, die Sie dann mit der Technik an der angegebenen Verknüpfung zurücksetzen. Niemand kann helfen, es sei denn, Sie zeigen diese Makros als Teil der Frage. Tyson vor 8 Jahren 0
@Tyson Ich habe die Codes der von mir verwendeten Makros hinzugefügt. Guest vor 8 Jahren 0

1 Antwort auf die Frage

0
Steve Taylor

In welchem ​​Bereich rufen Sie die SortString-Funktion auf? Wenn Sie das gesamte Blatt durchlaufen, kann dies möglicherweise Ihr Problem erklären. Erwägen Sie, einen benannten Bereich zu verwenden oder eine 'Count'-Funktion einzubetten, sodass sie nur in Zeilen ausgeführt wird, die gefüllt wurden.

Ich werde nicht nach dem Croissant fragen ...