Microsoft Excel

Herbers Excel/VBA-Archiv

Suchen nach #####



Excel-Version: 9.0 (Office 2000)

Betrifft: Suchen nach #####
von: N. Davidheimann
Geschrieben am: 05.06.2002 - 13:12:52

Hallo allerseits,

wenn eine Spaltenbreite zu gering gewählt ist, zeigt Excel die berühmten #####. Kann man danach eigentlich auch per VBA suchen ?

Gruß
Norbert


  

Re: Suchen nach #####
von: andré
Geschrieben am: 05.06.2002 - 13:14:40

du könntest überprüfen wie breit die spalte ist und wieviele zeichen drinen stehen. wenn mehr zeichen drinen stehen als reinpassen muss ja schließlich ###### sowas kommen

TrY aNd ErRoR

andré


  

Tolle Antwort, Andre?
von: M@rkus
Geschrieben am: 05.06.2002 - 13:34:33

Mich würde jetzt mal Interessieren, wie man Spalten nach der Zeichanzahl überprüft und dann die Spalte vergrössert???

  

Re: Tolle Antwort, Andre?
von: andré
Geschrieben am: 05.06.2002 - 13:40:59

also! du kennst ja die spaltenbreiten angabe. die ist in punkt. und punkt heißt soviel wie so viele zeichen passen in der standard schrift in diese zelle. ;).
so dann überprüfst du wieviel zeichen in der spalte stehen (pro zelle überprüfen!!! (den text halt, nicht die Formel) und schaust wieviele zeichen es sind.

und dann markierst du die spalte mit:
Columns("E:E").Select
und verbreiterst sie mit:
Selection.ColumnWidth = 11,31

so das sollte dir jetzt weiterhelfen

  

Re: Suchen nach #####
von: Kl@us-M.
Geschrieben am: 05.06.2002 - 13:46:06

Hallo Norbert,
mit folgendem Code kannst Du die "Optimale Spaltenbreite" einstellen:

Columns("A:IV").Select
Range(Selection, Selection.End(xlToRight)).Select
Cells.EntireColumn.AutoFit

Gruss
Klaus-Martin


  

Re: Suchen nach #####
von: Harald Kapp
Geschrieben am: 05.06.2002 - 13:50:15

Hallo André, Markus,
es ist problematisch, die Länge des Eintarges in der Zelle mit der Zellenbreite zu vergleichen. Da Excel standardmäßig eine proportionale Schrift verwendet, ist die dargestellte Länge nicht nur von der Anzahl der Zeichen, sondern auch von deren Wert abhängig. Vergleiche mal 1111111 mit WWWWWWW (in Excel, hier im Forum geht's grad nicht).

Aber: Wenn man in der Text Eigenschaft der Zellen nach "###" sucht, dann wird mit dem tatsächlich dargestellten Wert verglichen:


If InStr(1, Cells(Row, Column).Text, "#") > 0 Then

Funktioniert aber nur, wenn in keiner Zelle der Lattenzaun (#) regulär vorkommt. Sonst evtl mit "##" oder "###" vergleichen, aber das macht wiederum Probleme, wenn die Spalte so schmal ist, dass eben nur ein "#" angezeigt wird.

Gruß Harald

 

Beiträge aus den Excel-Beispielen zum Thema "Suchen nach ##### "