Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1844to1848
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

msgBox Zeile um Zeile

msgBox Zeile um Zeile
13.09.2021 12:02:01
Rudi
Hallo zusammen
Ich habe einen Code (unten stehend) der mir in einer msgBox Zelladressen Zeile um Zeile anzeigt, die
einen bestimmten Wert haben. Nun würde es mir dienen, wenn diese Zelladressen
ebenfalls auch in eine Tabelle geschrieben würden und zwar auch je in eine Zelle, Zeile um Zeile.
Ich schaffe es nur alle Adressen in eine Zelle zu schreiben.
Gäbe es da eine Lösung?
Besten Dank für eure Mühe
Gruss
Rudi
Dim RaZelle As Range
Dim LastRow As Long
Dim strOut As String
LastRow = ActiveSheet.Cells(Rows.Count, 3).End(xlUp).Row 'Spalte 3
For Each RaZelle In Range("C1:C" & LastRow)
If RaZelle = "---" Then
strOut = strOut & ", " & vbCrLf & RaZelle.Address(0, 0)
End If
Next RaZelle
If Len(strOut) Then MsgBox "keine Strecke vorhanden in Zelle/n :" & vbCrLf & Mid(strOut, 3) & vbCrLf & vbCrLf & "ENDE"
'ThisWorkbook.Worksheets("Tabelle1").Cells(1, 2).Value = strOut

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: msgBox Zeile um Zeile
13.09.2021 12:18:46
Daniel
Hi
Wenn die Werte in eine Zeile nebeneinander geschrieben werden sollen, geht das relativ einfach, indem du auf die Zelle mit allen Werten noch ein Daten - Datentools - Text in Spalten anwendest.
(Die Programmierung zeigt dir der Recorder)
Sollen die Werte Untereinander stehen, musst du dass so programmieren, da gibts keine eigene Funktion für:

Dim arrOut
arrOut = Split(mid(strOut, 5), ", " & vbCrLf)
Range("Z1").Resize(Ubound(arrOut) + 1, 1).value = Worksheetfunction.Transpose(arrOut)
Gruß Daniel
AW: msgBox Zeile um Zeile
13.09.2021 12:36:35
Werner
Hallo,
gleicher Weg wie Daniel, nur hab ich die Kommata für die MessageBox raus geschmissen. Braucht doch kein Mensch, wenn die untereinander ausgegeben werden.
Die Ausgabe erfolgt in der Spalte B untereinander. Vorher sollte dann aber auch jeweils vor der Ausgabe die Spalte B geleert werden.

Public Sub aaa()
Dim RaZelle As Range, LastRow As Long, strOut As String, varArray As Variant
LastRow = ActiveSheet.Cells(Rows.Count, 3).End(xlUp).Row 'Spalte 3
For Each RaZelle In Range("C1:C" & LastRow)
If RaZelle = "---" Then
If strOut = vbNullString Then
strOut = RaZelle.Address(0, 0)
Else
strOut = strOut & vbLf & RaZelle.Address(0, 0)
End If
End If
Next RaZelle
If Len(strOut) Then
varArray = Split(strOut, vbLf)
MsgBox "keine Strecke vorhanden in Zelle/n :" & vbLf & vbLf & strOut & vbCrLf & vbCrLf & "ENDE"
ThisWorkbook.Worksheets("Tabelle1").Columns(2).ClearContents
ThisWorkbook.Worksheets("Tabelle1").Cells(1, 2).Resize(UBound(varArray) + 1) = WorksheetFunction.Transpose(varArray)
End If
End Sub
Gruß Werner
Anzeige
AW: msgBox Zeile um Zeile
13.09.2021 13:21:58
Rudi
Hallo Daniel, Hallo Werner
Perfekt, und ja, die Kommas braucht wirklich keiner, vielen Dank euch beiden.
Gruss
Rudi
Gerne u. Danke für die Rückmeldung. o.w.T.
13.09.2021 14:18:38
Werner

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige