Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Werte untereinander schreiben lassen

Werte untereinander schreiben lassen
07.09.2017 08:31:28
Stephan
Guten Morgen,
ich hatte vor geraumer Zeit bereits einen Beitrag geschrieben, konnte allerdings bedingt durch die Klausurenphase nicht mehr antworten, da ich total im Stress war.
Also noch ein Versuch ... :)
Ich würde gerne Werte aus zwei Zeilen die in einer Spalte untereinander angeordnet haben. Zusätzlich sollen Werte die nachträglich in eine der beiden Zeilen eingetragen werden, immer ans Ende der untereinander geschriebenen Werte eingetragen werden sofern diese Werte noch nicht in den in den Werten die untereinander geschrieben sind vorkommen.
Hat jemand eine Idee wie sowas funktionieren könnte?
Vielen Dank.
Gruß,
Stephan
Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Musterdatei?
07.09.2017 08:38:05
UweD
AW: Musterdatei?
07.09.2017 08:57:05
UweD
so?
- Laut deiner Tabelle sind ja auch noch I1bis J2 möglich
- Also insgesamt 20 Zellen
- Deshalb die Formel aus K3 bis nach K21 runterkopieren

Tabelle1
 ABCDEFGHIJK
1123 56 7  Hier sollen Werte dann so untereinander stehen
27743 2110  1
3          2
4          3
5          4
6          5
7          6
8          7
9          10
10           
11           
12           
13           
14           
15           
16           
17           
18           
19           
20           
21           
22           
23           

verwendete Formeln
Zelle Formel Bereich N/A
K2=MIN(A1:J2)  
K3:K21=WENN(MAX($A$1:$J$2)=MAX(K$2:K2);"";KGRÖSSTE($A$1:$J$2;ZÄHLENWENN($A$1:$J$2;">"&K2)))  
http://excel-inn.de/dateien/vba_beispiele/tabellenanzeige_in_html_addin.zip
http://Hajo-Excel.de/tools.htm
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 21.10 einschl. 64 Bit


Anzeige
AW: Musterdatei?
07.09.2017 09:07:20
Stephan
Danke schonmal das klappt schonmal super!
Das Problem ist jetzt nur wenn ich zum Beispiel die Zahl 8 in eine der beiden Zeilen schreibe, dann verschiebt sich die Liste mit den Werten, da die Zahl sortiert da reingepackt wird. Da die Werte später einem Namensschlüssel zugeordnet werden, wäre es gut wenn Werte die neue in eine der beiden Zeilen geschrieben werden immer ans Ende von den Werten die untereinander stehen gepackt werden. Ist das auch möglich?
Anzeige
AW: Musterdatei?
07.09.2017 09:11:33
UweD
Nicht mit Formeln
da brauchst du dann VBA
AW: Musterdatei?
07.09.2017 10:37:09
Stephan
Wie würde das denn dann funktionieren? Habe da leider echt kaum Erfahrung mit :/
AW: Musterdatei?
07.09.2017 11:04:41
UweD
Hallo nochmal
- Rechtsclick auf den Tabellenblattreiter von Tabelle1
- Code anzeigen
- das hier dort reinkopieren
vor dem Starten bitte K2 bis ... 1x löschen
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error GoTo Fehler
    Dim Z, TB, SP As Integer, LR As Double
    
    Set TB = Sheets("Tabelle1")
    SP = 11 'Zielspalte K 
    
    If Not Intersect(Range("A1:J2"), Target) Is Nothing Then
        For Each Z In Target
            If WorksheetFunction.CountIf(TB.Columns(SP), Z) = 0 And Z <> "" Then
                LR = TB.Cells(TB.Rows.Count, SP).End(xlUp).Row + 1
                Application.EnableEvents = False
                TB.Cells(LR, SP) = Z.Value
                Application.EnableEvents = True
            End If
        Next
    End If
    
    '*** Fehlerbehandlung 
    Err.Clear
Fehler:
    Application.EnableEvents = True
    If Err.Number <> 0 Then MsgBox "Fehler: " & _
        Err.Number & vbLf & Err.Description: Err.Clear
End Sub

LG UweD
Anzeige
AW: Musterdatei?
07.09.2017 12:24:53
Stephan
Richtig geil!!!! Tausend Dank dir!!!! :) Weiß gar nicht wie ich dir dafür richtig danken kann^^^. Also DANKE DANKE DANKE !!!! :) :)
AW: gern geschehen owt
07.09.2017 12:35:05
UweD
AW: Musterdatei?
07.09.2017 10:45:01
Peter
Hallo,
hier eine Beispielmappe: https://www.herber.de/bbs/user/116072.xlsm
(einfach ConvertRowsToColumns Sub aufrufen)
Hier nur Code:
(Benötigt verweis Scripting Runtime und mscorlib)
Option Explicit
Private worksheet_ As Worksheet
Public Sub ConvertRowsToColumns()
Dim dictionary_ As New Dictionary
Dim lRow As Long, i As Long
Dim array_() As Variant
Dim varKey As Variant
Dim rng As Range
Set worksheet_ = ThisWorkbook.Sheets(1)
With worksheet_
lRow = .UsedRange.Rows.Count
For i = 1 To lRow
Set rng = .Range(.Cells(i, 1), .Cells(i, 8))
If Application.WorksheetFunction.CountBlank(rng)  "" Then array_(i - 1) = .Cells(RowToConvert, i). _
Value
Next i
End With
RowArray = array_
End Function

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Werte in Excel untereinander schreiben


Schritt-für-Schritt-Anleitung

Um Werte in Excel in einer Zelle untereinander zu schreiben, kannst du die folgende Methode verwenden:

  1. VBA-Editor öffnen: Rechtsklicke auf den Tab deines Arbeitsblatts (z.B. "Tabelle1") und wähle "Code anzeigen".

  2. Code einfügen: Kopiere den folgenden VBA-Code in das Fenster:

    Private Sub Worksheet_Change(ByVal Target As Range)
       On Error GoTo Fehler
       Dim Z, TB, SP As Integer, LR As Double
    
       Set TB = Sheets("Tabelle1")
       SP = 11 'Zielspalte K 
    
       If Not Intersect(Range("A1:J2"), Target) Is Nothing Then
           For Each Z In Target
               If WorksheetFunction.CountIf(TB.Columns(SP), Z) = 0 And Z <> "" Then
                   LR = TB.Cells(TB.Rows.Count, SP).End(xlUp).Row + 1
                   Application.EnableEvents = False
                   TB.Cells(LR, SP) = Z.Value
                   Application.EnableEvents = True
               End If
           Next
       End If
    
       Err.Clear
    Fehler:
       Application.EnableEvents = True
       If Err.Number <> 0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err.Clear
    End Sub
  3. Zelle leeren: Lösche zuerst die Werte in der Zielzelle (z.B. K2).

  4. Testen: Schreibe Werte in die Zellen A1 bis J2. Neue Werte werden in der Spalte K untereinander geschrieben.


Häufige Fehler und Lösungen

  • Fehler: Wert wird nicht hinzugefügt: Stelle sicher, dass der VBA-Code korrekt eingefügt wurde und du in den richtigen Zellen schreibst.
  • Werte werden sortiert: Der Code fügt Werte am Ende der Liste hinzu, ohne sie zu sortieren. Wenn dies nicht der Fall ist, überprüfe den Code auf Fehler.
  • Fehler beim Ausführen des Codes: Achte darauf, dass die Excel-Makros aktiviert sind.

Alternative Methoden

Wenn du nicht mit VBA arbeiten möchtest, kannst du auch die Funktion TEXTVERKETTEN verwenden (verfügbar in Excel 365):

  1. Schreibe die Werte in eine Zelle.
  2. Verwende die Formel:

    =TEXTVERKETTEN(CHAR(10); WAHR; A1:J1)

Diese Formel fügt alle Werte aus den Zellen A1 bis J1 in einer Zelle untereinander zusammen.


Praktische Beispiele

Ein Beispiel für das Schreiben von Werten in einer Excel-Tabelle untereinander:

  1. Du hast in den Zellen A1 bis A5 die Werte 1, 2, 3, 4, 5.
  2. Wenn du in Zelle B1 den Wert 6 eingibst, wird dieser in Zelle K1 unter den vorherigen Werten geschrieben.

Tipps für Profis

  • Events deaktivieren: Im VBA-Code wird Application.EnableEvents = False verwendet, um zu verhindern, dass der Code erneut ausgeführt wird, wenn Änderungen durch den Code selbst vorgenommen werden.
  • Zielzelle anpassen: Du kannst die Zielspalte (SP) im VBA-Code anpassen, um die Werte in einer anderen Spalte untereinander zu schreiben.
  • Datenvalidierung verwenden: Setze eine Datenvalidierung ein, um sicherzustellen, dass nur bestimmte Werte in die Zellen eingegeben werden.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass keine Duplikate in der Zielzelle erscheinen?
Der VBA-Code prüft bereits, ob der Wert bereits in der Zielspalte vorhanden ist, bevor er ihn hinzufügt.

2. Welche Excel-Version benötige ich für die Verwendung von VBA?
Du kannst VBA in Excel 2007 und späteren Versionen nutzen. Die oben genannten Formeln sind jedoch auch in Excel 365 verfügbar.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige