Autor
|
Thema: Spaltenbreite an variablen Text anpassen (8602 mal gelesen)
|
RonGoho Mitglied Technischer Systemplaner, Niederspannungsschaltanlagen
Beiträge: 336 Registriert: 15.09.2009
|
erstellt am: 26. Nov. 2009 14:07 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich habe folgendes Problem : Ich hätte gerne, dass sich die Spaltenbreite dem Text anpasst. Der Text ist variabel , d.h. zwischen 1 und (X) Zeichen lang.Im Optimalfall also bei nur einem Zeichen eine schmale Spalte, und bei z.B. 20 Zeichen eine automatisch angepasste breite Spalte. Ist das irgendwie mit Excel 2007 zu machen ? Gruß von Ron
------------------ Eigentlich gibt es das Wort "Eigentlich" gar nicht Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8075 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 26. Nov. 2009 14:23 <-- editieren / zitieren --> Unities abgeben: Nur für RonGoho
Du meinst das aber automatisch und nicht per händischen Doppelklick auf den Zwischenraum zw. 2 Spaltenköpfe nach der Eingabe? Das wiederum würde ja ein ständiges Springen während der Eingaben bedeuten (immer wenn's zu breit wird, paßt sich die Spalte an) So was kostet meiner Meinung nach eh nur Performance, es reicht, wenn es nach allen Eingaben gemacht wird. Entweder also mit einem händischen Doppelklick oder die VBA-Zeile Code: Columns("A:A").EntireColumn.AutoFit
anpassen und zu einem Dir genehmen Zeitpunkt anschubsen.------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... System-Info | Excel -Suche | RuA-Suche | FAQ-ACAD | CAD.de-Hilfe | Sei eine Antilope Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Moderator Architekt
Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 26. Nov. 2009 14:24 <-- editieren / zitieren --> Unities abgeben: Nur für RonGoho
Hallo, einfach mit dem Cursor oben in die Spaltenköpfe zwischen zwei Spalten wandern, bis der Cursor zu einem senkrechten Strich mit rechts & links nem Pfeil dran mutiert ist und dann Doppelklick. Oder mit Code:
Columns("A:D").AutoFit
Das war vieeeel einfacher zu beschreiben lg Nancy
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
carsten-3m Mitglied Dipl.-Ing. Mbau (Produktmanagement, Patent- und Normwesen)
Beiträge: 950 Registriert: 08.05.2007 Excel 2010
|
erstellt am: 26. Nov. 2009 14:29 <-- editieren / zitieren --> Unities abgeben: Nur für RonGoho
/OT Jaja, ihr müsst wieder Wettrennen spielen. Gut, ich war auch zu lahm. OT/ Manuell: Doppelklick auf den senkrechten Strich zwischen der aktuellen (anzupassenden) und der ächsten SPalte rechts daneben. Folge: Spaltenbreite orientiert sich am längsten Inhalt aller Zellen dieser Spalte. Automatisch: Das geht meines Wissens nach nur mit VBA. Dazu benötigst Du eine Überwachung jeglicher Änderungen von Zellinhalten (Worksheet_Change), die dann die Spaltenbreitenanpassung (Columns.Autofit) aufzurufen hat. Der nachstehende Codeschnipsel ist unvollständig und ungeprüft. Code: Private Sub Worksheet_Change(ByVal Target as Range) sowienochbereich.Columns.AutoFit End Sub
------------------ Seit Pro/E Version 1 dabei, auwei... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RonGoho Mitglied Technischer Systemplaner, Niederspannungsschaltanlagen
Beiträge: 336 Registriert: 15.09.2009
|
erstellt am: 26. Nov. 2009 14:46 <-- editieren / zitieren --> Unities abgeben:
Ersteinmal Danke für die Antworten . Ich denke ich muss etwas genauer werden : Es wird eine Liste mit verschiedenen Namen in eine von mir erstellte Excel Vorlage importiert. In dieser Vorlage ist die Spaltenbreite ersteinmal fest vordefiniert(z.B. durch Klick zwischen den Spalten). Ich möchte aber , dass sich die Spaltenbreite beim Import automatisch an dem längsten Namen aus der importierten Liste anpasst.Ist das irgendwie möglich? ------------------ Eigentlich gibt es das Wort "Eigentlich" gar nicht Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Moderator Architekt
Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 26. Nov. 2009 15:27 <-- editieren / zitieren --> Unities abgeben: Nur für RonGoho
Hallo Ron, händisch wie bereits beschrieben, alle belegten Spalten erwischst du indem Du die gesamte Tabelle markierst (oben links, wo Zeilen- & Spaltenleiste beginnen) und dann einmal Doppelklick auf nen Spaltentrenner. Automatisch so: Code:
ActiveSheet.UsedRange.Columns.AutoFit
Nur für den Oneliner lohnt IMHO ein Makro nicht, geht händisch fast genauso flott. Es sei denn du importierst deine Daten mit VBA, dann kannste das ja gleich im Anschluss an den Importcode hinterherschiessen. Ins Worksheetchange, hmm kann man machen, Geschmackssache HTH Nancy
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |