Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1000to1004
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

3 Zellen zu 1ner 3-Zeiligen (wieAlt+Enter) machen

3 Zellen zu 1ner 3-Zeiligen (wieAlt+Enter) machen
11.08.2008 16:07:27
Horst_H
Hallo!
Meine Frage: In Spalte C steht eine Straßenbezeichnung, in Spalte H ein Kommentar und in Spalte I ein zweiter Kommentar. Nun möchte ich per VBA (weil ich viele Mappen unterschiedl. Länge und unterschiedlicher Stadtteile habe) erreichen, dass zusätzlich in die jeweilige Zelle in Spalte C je nach Inhalt, also ob H bzw. I gefüllt sind, die jeweiligen Zellen in C mit den Kommentarinhalten zu 2-zeiligen bzw. 3-zeiligen Zellen werden. Da in den Listen eine hohe Fluktuation ist, sich also häufig ändert, kann ich nicht mit einer starren Masterdatei arbeiten und möchte es deshalb über VBA. Im Archiv hier fand ich so nichts, Wrap habe ich mir in der Hilfe angesehen, damit komme ich aber nicht weiter und der Macrorecorder half mir auch nicht. Wer kann mir bitte behilflich sein. Start is in Zeile 3 und Länge variabel aufgrund C.
Spalte C Spalte H Spalte I
Braunstr. Kommentar1 Kommentar2
C-Str. Kommentar1
D-Str. Kommentar2
ergibt
Braunstr.
Kommentar1
Kommentar2
C-Str.
Kommentar1
D-Str.
Kommentar2
Es wäre ganz prima, wenn von euch Profis mir weiter geholfen wird. Ich probiere schon versch. Möglichkeiten - und trete auf der Stelle. Danke für jeden Tipp!!
Gruß
Horst_H

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: 3 Zellen zu 1ner 3-Zeiligen (wieAlt+Enter) machen
11.08.2008 16:29:01
Daniel
HI
so vielleicht:

Sub test()
Columns(3).Insert
With Range("C3:C" & Cells(Rows.Count, 4).End(xlUp).Row)
.FormulaLocal = "=D3&wenn(I3"""";Zeichen(10)&i3;"""")&Wenn(J3"""";zeichen(10)&j3;"""")"
.Copy
.Offset(0, 1).PasteSpecial xlPasteValues
.Offset(0, 1).WrapText = True
.EntireColumn.Delete
End With
End Sub


Gruß, Daniel

AW: 3 Zellen zu 1ner 3-Zeiligen (wieAlt+Enter) mac
11.08.2008 16:42:07
Horst_H
Hi Daniel,
mit so rascher Antwort hatte ich nicht gerechnet und gleich ausprobiert. Funktioniert schon sehr gut - aber als ich auf "Zeichen(30)" erhöht habe ( der Kommentartext kann bis 100 Zeichen lang sein je Kommentarfeld, erhalte ich das kleine Viereck dazwischen und die Spalte wird auch nicht breiter. Sicherlich habe ich mich ungeschickt ausgedrückt: Spalte C (Straßenbezeichnung), Spalte H (Kommentar1) und Spalte I (Kommentar2) können unterschiedlich aber maximal 100 Zeichen lang sein. Ist das hinzubekommen? Das wäre 100%ig!!!
Danke und Gruß
Horst_H

Anzeige
AW: 3 Zellen zu 1ner 3-Zeiligen (wieAlt+Enter) mac
11.08.2008 16:50:00
Daniel
Hi
sorry, aber was macht Zeichen(30) und wo hast du das eingegeben?
Zeichen(10) ist der Code für ALT+ENTER und sorgt für den erzwungenen Zeilenumbruch nach den einzelnen Werten und solte so bleiben. Das hat nix mit der Anzahl von Zeichen zu tun.
die Spaltenbreite anpassen kannst du mit (Code einfügen vor der Zeile mit .Delete)
.Offset(0, 1).EntireColumn.AutoFit
Gruß, Daniel

AW: 3 Zellen zu 1ner 3-Zeiligen (wieAlt+Enter) mac
11.08.2008 18:00:07
Horst_H
Sorry, Daniel,
das habe ich falsch interpretiert. Verzeih' einem Anfänger. Danke für deine erfolgreiches Script + Gruß, Horst_H

AW: 3 Zellen zu 1ner 3-Zeiligen (wieAlt+Enter) machen
11.08.2008 16:31:00
Erich
Hallo Horst,
probier mal

Option Explicit
Sub UmbrZeilen()
Dim rng As Range
For Each rng In Range(Cells(1, 3), Cells(Cells(Rows.Count, 3).End(xlUp).Row, 3))
rng = rng & IIf(IsEmpty(rng.Offset(, 5)), "", vbLf & rng.Offset(, 5)) & _
IIf(IsEmpty(rng.Offset(, 6)), "", vbLf & rng.Offset(, 6))
Next rng
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: 3 Zellen zu 1ner 3-Zeiligen (wieAlt+Enter) mac
11.08.2008 16:56:00
Horst_H
Hallo Erich,
auch dir Danke. Bei deiner Version sind keine Vierecke dazwischen, aber die Zelllänge ist auch hier leider noch zu klein, sodass es bei längerem Text 5- bzw. 6-Zeiler werden. Bei der Version von Daniel und deiner stehen, wenn in beiden Kommentaren Inhalt ist, beide in einer Zeile als 2.te Zeile in der Zelle. Vermutlich geht das wohl nicht anders? Ich lade ein Beispiel hoch. Vielleicht habt ihr ja doch eine Idee, wie das ginge? Aber ansonsten schon einmal, wenn es nicht änderbar ist, recht herzlichen Dank euch beiden!!
https://www.herber.de/bbs/user/54516.xls
Gruß
Horst_H

Anzeige
AW: 3 Zellen zu 1ner 3-Zeiligen (wieAlt+Enter) mac
11.08.2008 17:18:54
Erich
Hallo Horst,
bei mir läuft das problemlos durch, und wohl auch mit dem gewünschten Ergebnis.
Wegen der möglichen langen Texte habe ich mal H37 und I37 etwas verlängert:
https://www.herber.de/bbs/user/54517.xls
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

AW: 3 Zellen zu 1ner 3-Zeiligen (wieAlt+Enter) mac
11.08.2008 18:24:00
Horst_H
Hi Erich,
habe die Spalte C auf 100 Zeichen-Länge eingestellt und es funktioniert nun wie von mir gewünscht und dir beabsichtigt! Toll. Kannst du mir bitte noch die Iffs kurz erklären, weil ich möchte es verstehen und beabsichtige noch eine version zu machen, wobei grundsätzlich - gleich ob leer oder gefüllt - die Spalten H + I als Zeilen eingefügt werden sollen für einen ähnlichen Vorgang. Aber auf jeden Fall - Danke für die rasche Unterstützung übrigens in diesem Forum! Gruß, Horst_H
rng = rng & IIf(IsEmpty(rng.Offset(, 5)), "", vbLf & rng.Offset(, 5)) & _
IIf(IsEmpty(rng.Offset(, 6)), "", vbLf & rng.Offset(, 6))
' rng.Offset(, 5).Resize(, 2).ClearContents

Anzeige
AW: 3 Zellen zu 1ner 3-Zeiligen (wieAlt+Enter) mac
11.08.2008 19:01:05
Horst_H
hab's hinbekommen mit IsNull - aber das automatisch zu einer Variablenabfrage deklariert? Ich tue mich noch bisschen schwer mit der Verschachtelung. Thx!

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige