Frage Makro aktualisieren, um jede Zeilenhöhe um X Pixel zu erweitern


Dies funktioniert, um alle Zeilen auf 25 Pixel zu setzen.

Sub sbChangeRowHeightMulti()
Rows("3:1000").RowHeight = 25
End Sub

Aber ich möchte die vorhandene Zeilenhöhe nehmen und 10 hinzufügen.

So etwas wie dieser Pseudocode:

Sub sbChangeRowHeightMulti()
Rows("3:1000").RowHeight = Rows(x).RowHeight + 10
End Sub

Ist das möglich? Ich habe versucht, die Syntax dafür herauszufinden, aber kein Glück.


0
2018-06-25 22:53


Ursprung




Antworten:


Leider gibt es keine einfache Möglichkeit, dies zu tun. Genau wie in Excel selbst gibt es keine Möglichkeit, mehrere Zeilen auszuwählen und die Zeilenhöhe auf ein Inkrement der einzelnen Höhen zu ziehen / festzulegen.

Die einfachste Lösung besteht darin, alle Zeilen zu durchlaufen:

Option Explicit
'v0.1.0
Sub sbChangeRowHeightMulti()
  Application.ScreenUpdating = False
    Dim rowRow As Range
    For Each rowRow In Rows("3:1000")
      rowRow.RowHeight = rowRow.RowHeight + 10
    Next rowRow
  Application.ScreenUpdating = True
End Sub

1
2018-06-26 02:36





Versuche dies:

Sub sbChangeRowHeightMulti()
Rows("3:1000").RowHeight = Rows("3:1000").RowHeight + 10
End Sub

-3
2018-06-25 22:59



Hast du etwas Besonderes gemacht, um das zum Laufen zu bringen? Es funktioniert nicht für mich. Pleasedonot antworten in Kommentaren; bearbeiten Ihre Antwort wird klarer und vollständiger. - Scott
@Scott Resonant in Kommentaren, weil ich an dieser Stelle nichts zu meiner Antwort hinzufügen kann: Vielleicht habe ich die Frage missverstanden. Ich habe nichts Besonderes gemacht, um es zum Laufen zu bringen. Es fügt der vorhandenen Zeilenhöhe der angegebenen Zeilen 10 hinzu. War das nicht die ursprüngliche Frage? - wysiwyg
(1) Ich denke, wir sind uns einig über die Bedeutung der Frage (obwohl Ihre Aussage etwas ungenau ist, also bin ich mir nicht sicher, ob Sie und ich dasselbe denken). (2) Ich bin ein wenig verwirrt. Ich dachte, als ich deine Antwort gestern getestet habe, hat es nichts getan. Ich habe es erneut getestet, und es tut definitiv etwas, also denke ich (bestenfalls) ich war gestern schlampig. (3) Was deine Antwort zu tun scheint, ist zu berechnen Rows("3").RowHeight + 10 und setze die Höhe jeder Zeile auf diesen Wert. Ich glaube, dass die Frage ist, eine Konstante zur Höhe jeder Zeile hinzuzufügen, ... (Forts.) - Scott
(Forts.) ... wenn die aktuellen Höhen 15, 21, 27, 33, ... sind, werden sie zu 25, 31, 37, 43, ... geändert. (Ich lasse die Frage erneut zu, ich gebe zu, dass es unklar ist; aber beachte, dass RobinCTS interpretierte es genauso wie ich.) Deine Antwort würde sie auf 25, 25, 25, 25, ... ändern. (4) Sie haben offensichtlich bemerkt, dass jemand Ihre Antwort abgelehnt hat. Ich war es nicht. Jemand anderes als ich glaubt, dass deine Antwort falsch ist. - Scott