Microsoft Excel

Herbers Excel/VBA-Archiv

Columns(ActiveCell.Column).Select | Herbers Excel-Forum


Betrifft: Columns(ActiveCell.Column).Select von: Karsten
Geschrieben am: 11.11.2009 10:20:47

Hallo,

läßt sich u.s. Befehl so umschreiben, dass nur die Breite der akt. Spalte angepasst wird. Im Moment wird dazu immer ein Zoomvorgang ausgelöst (120%). Ich hätte möglichst die angepasste Spalte und Zoomgrösse gleichbleibend 150.

Columns(ActiveCell.Column).Select
ActiveWindow.Zoom = True

Danke für eure Hilfe.

Gruß
Karsten

  

Betrifft: AW: Columns(ActiveCell.Column).Select von: ede
Geschrieben am: 11.11.2009 10:26:49

Hallo,
die optimale Spaltenbreite erreicht Du so, wenn es Dir helfen sollte.

Columns(ActiveCell.Column).AutoFit

Gruss


  

Betrifft: AW: Columns(ActiveCell.Column).Select von: Karsten
Geschrieben am: 11.11.2009 10:44:41

Hallo ede,

Danke, aber ich meine es anders. AutoFit heist, dass sich die Spaltenbreite des zelleninhaltes anpasst.
Ich möchte, dass sich die Spaltenbreite des Sichtbereiches des Monitores anpasst, auch, wenn es nicht dem Zellinhaltes entspricht.

Gruß
Karsten


  

Betrifft: AW: Columns(ActiveCell.Column).Select von: Björn B.
Geschrieben am: 11.11.2009 11:16:44

Hallo,

ich würde mal behaupten, da gibt es keinen direkten Befehl dazu.
Das musst du dir umständlich zusammenbauen.

Du musst Dir mal genau überlegen, wie du das von Hand machen würdest, also wirklich Schritt für Schritt.

Du musst als erstes prüfen, ob die Spalte vergrößert oder verkleinert werden muss.
Dann müsstest du irgendwie ausmessen (ausrechnen), um wie viel die Größe geändert werden muss.
Dann die neue Größe der Spalte zuweisen und dann bei jeder Änderung irgendeiner Spalte / Zoomfaktor das ganze wieder von vorn.

Warum soll das denn überhaupt per Makro so gelöst werden? Warum stelltst du das Seitenformat nicht so ein, wie es sein soll und sperrst es dann?

Ich verstehe Deinen Gedanken nicht und sehe keinen Sinn darin, eine Spalte per Makro dem Sichtbereich anpassen.

Gruß
Björn


  

Betrifft: AW: Columns(ActiveCell.Column).Select von: Karsten
Geschrieben am: 11.11.2009 11:28:28

Hallo Björn,

ich arbeite mit der gleichen Datei auf verschiedenen Rechnern. Mal PC (großer Bildschirm), mal Minilaptop. Sieitenverhältnisse sind da immer etwas anders.

z.B.

Private Sub Worksheet_Activate()
Range("A:O").Select
ActiveWindow.Zoom = True
End Sub
hat sich da bestens bewährt. Ich dachte, dass es für eine Spalte ebenfalls möglich wäre.

Gruß
Karsten


  

Betrifft: noch ein Versuch ... von: Matthias L
Geschrieben am: 11.11.2009 23:14:41

Hallo

meinst Du vielleicht so?

Sub Karsten()
Dim spalte As Long
spalte = ActiveCell.Column
Columns(spalte).Select
ActiveWindow.Zoom = True
End Sub
Gruß Matthias


  

Betrifft: Columns(ActiveCell.Column).AutoFit ? von: Matthias L
Geschrieben am: 11.11.2009 10:27:06

Hallo

Columns(ActiveCell.Column).AutoFit
ActiveWindow.Zoom = 150

Gruß Matthias


  

Betrifft: AW: Columns(ActiveCell.Column).AutoFit ? von: Karsten
Geschrieben am: 11.11.2009 10:45:06

Hallo Mattias,

Danke, aber ich meine es anders. AutoFit heist, dass sich die Spaltenbreite des zelleninhaltes anpasst.
Ich möchte, dass sich die Spaltenbreite des Sichtbereiches des Monitores anpasst, auch, wenn es nicht dem Zellinhaltes entspricht.

Gruß
Karsten


  

Betrifft: Sorry, Ich weiß nicht was Du willst ... oT von: Matthias L
Geschrieben am: 11.11.2009 11:08:40