Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Zelle abfrage und wenn ja dann im eine reihe schreiben
#1
Hallo alle,
Ich hab eine kleine problem. ich muss for meine arbeit eine abfrage von eine tabelle und der ergebnis in eine reihe ausgeben mit eine trennzeichen "|"

   
     

Hier muss ich folgendes Abfragen: 
Is Zelle H = "Typ1" then kopie Zelle A zu eine leere Zelle unterhalb der daten mit eine "|" als trennzeichen
sonst
when Zelle H = " " then weiter zu nachste spalte.

Die ausgabe muss so ausiehen:
1352600|1352610|1353108|1353242|1369913

Vielen Dank im Voraus
Antworten Top
#2
Code:
Sub AbfrageUndAusgabe()
    Dim ws As Worksheet
    Dim letzteZeile As Long
    Dim ausgabeZelle As Range
    Dim i As Long
   
    ' Passe den Tabellennamen entsprechend an
    Set ws = ThisWorkbook.Sheets("DeinTabellenblatt")
   
    ' Finde die letzte Zeile in Spalte H
    letzteZeile = ws.Cells(ws.Rows.Count, "H").End(xlUp).Row
   
    ' Setze die Startzelle für die Ausgabe
    Set ausgabeZelle = ws.Cells(letzteZeile + 2, "A") ' Unterhalb der letzten Zeile + 1
   
    ' Durchlaufe die Daten in Spalte H und füge die entsprechenden Werte zur Ausgabe hinzu
    For i = 1 To letzteZeile
        If ws.Cells(i, "H").Value = "Typ1" Then
            ausgabeZelle.Value = ws.Cells(i, "A").Value
            Set ausgabeZelle = ausgabeZelle.Offset(0, 1) ' Gehe zur nächsten Zelle in der Reihe
            ausgabeZelle.Value = "|" ' Füge das Trennzeichen hinzu
            Set ausgabeZelle = ausgabeZelle.Offset(0, 1) ' Gehe zur nächsten Zelle in der Reihe
        ElseIf ws.Cells(i, "H").Value = "" Then
            ' Wenn Zelle H leer ist, gehe zur nächsten Spalte
            Set ausgabeZelle = ausgabeZelle.Offset(0, 1)
        End If
    Next i
   
    ' Lösche das letzte Trennzeichen
    ausgabeZelle.Value = ""
   
    ' Optional: MsgBox zur Bestätigung
    MsgBox "Die Ausgabe wurde erfolgreich erstellt.", vbInformation
End Sub
Dieser Code geht davon aus, dass sich deine Daten in Spalte A bis H befinden und die Ausgabe unterhalb der letzten Zeile in Spalte A beginnt. Bitte passe den Tabellennamen an ("DeinTabellenblatt") und verwende diesen Code in einem Modul in deinem Excel-Arbeitsbuch.

sagt ChatGPT.
Antworten Top
#3
Hi,

hier reicht doch eine Formel (ungetestet, da ich keine Lust habe die Bildchen abzutippen)

=TEXTVERKETTEN("|";;FILTER(A:A;H:H="Typ 1"))
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
[-] Folgende(r) 1 Nutzer sagt Danke an HKindler für diesen Beitrag:
  • derHoepp
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste