Office: (Office 2019) Prüfen und Verketten von Zellen mit Formeln als Inhalt

Helfe beim Thema Prüfen und Verketten von Zellen mit Formeln als Inhalt in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Sehr geehrte Damen und Herren, ich möchte in einer Excel Tabelle ca. 72 Zellen miteinander verketten und prüfen, ob diese gefüllt sind, falls manche... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von EaryTide, 26. Juli 2022.

  1. EaryTide Neuer User

    Prüfen und Verketten von Zellen mit Formeln als Inhalt


    Sehr geehrte Damen und Herren,

    ich möchte in einer Excel Tabelle ca. 72 Zellen miteinander verketten und prüfen, ob diese gefüllt sind, falls manche dieser Zellen leer sind sollen diese aus der Verkettung am Ende herausgenommen werden. Die Zellen die gefüllt sind bzw. einen Wert haben sollen in der Verkettung am Ende bleiben. Problematik ist die Prüfung da ich es nicht umgesetzte bekomme die Prüfung bei einer Leeren Zelle fortzuführen. Die Zusammensetzung am Ende (VERKETTEN) gestaltet sich meiner Meinung auch schwierig, da der Status der Zellen (Leer / Nicht Leer) zwischengespeichert werden muss.

    Bitte da um Hilfe, kann auch ’ne komplette Überarbeitung der Formel sein.

    Im Anhang ist eine Tabelle, wo die Grundformel zur Verkettung enthalten ist.

    Bei Fragen stehe ich gerne zur Verfügung.
     
    EaryTide, 26. Juli 2022
    #1
  2. DL_
    DL_ hat Ahnung
    Moin

    Schreibe mal bei Gelegenheit das Wunschergebnis in die Datei.
     
  3. EaryTide Neuer User
    Habe jetzt in der zweiten Arbeitsmappe "Skript" in den Zeilen A17/A18 sozusagen das Ergebnis eingetragen. A17 ist vor der Veränderung und A18 ist so in etwa das Zielergebnis.

    Zur Erklärung: die Punkte {9} {10} {20} sind auf der Ersten Armeitsmappe leer daher sollen diese aus der Verkettung entfernt werden und am ende soll dann der Befehl ohne die am anfang genannten Punkte zusammengesetzt sein. Im besten fall dann auch noch Funktionieren aber das ist dann mein Problem.
     
    EaryTide, 26. Juli 2022
    #3
  4. Exl121150 Erfahrener User

    Prüfen und Verketten von Zellen mit Formeln als Inhalt

    Hallo,

    ich habe dir in der beiliegenden Datei eine benutzerdef. VBA-Funktion StringErzeugen(Bereich) in einem allgemeinen Codemodul eingefügt:
    Code:
    Option Explicit
    
    Public Function StringErzeugen(rngZeile As Range, Optional Tr2$ = " ", Optional Tr1$ = " ") As String
      Dim S As String, Sp As Long
      Dim S1 As String, S2 As Variant
     
      S = ""
      With rngZeile
          For Sp = 1 To .Columns.Count Step 2
         
            S1 = .Cells(Sp): S2 = .Cells(Sp + 1)
            If Not IsEmpty(S2) Then
               S = S & Tr1 & S1 & Tr2 & S2
            End If
       
          Next Sp
      End With
     
      StringErzeugen = Mid$(S$, Len(Tr1) + 1)
    
    End Function
    

    Sie überprüft in dem übergebenen Zeilenbereich jede 2. Zelle, ob sie einen Inhalt hat.
    Falls ja, wird der Inhalt der Zelle davor und der Inhalt dieser Zelle zusammen mit 2 Trennzeichen (=Leerzeichen) an den bisherigen String angefügt - ansonsten wird dieser Schritt übergangen.

    Im Arbeitsblatt "Skript" kannst du in den Zellen A21, A22 und A23 sehen, wie eingesetzt wird.
    Der Funktion können bis zu 2 Trennzeichen zusätzlich übergeben werden. Wie das dann aussieht, kannst du in Zelle A25 sehen.
     
    Exl121150, 26. Juli 2022
    #4
    1 Person gefällt das.
  5. Exl121150 Erfahrener User
    Hallo,

    nachträglich zu Posting #4 habe ich im Arbeitsblatt "Skript" in Zelle A29 eine VBA-freie Formellösung eingebaut. Sie hat allerdings eine Länge von 3322 Zeichen. Im Folgenden zeige ich dir nur den Anfang und das Ende der Formel. Der Rest dazwischen sieht aus wie der Formelteil vor/nach dem ...usw... Wie man sieht, lässt sich die Formel erheblich verkürzen, wenn man statt Arbeitsblatt 'Grundlage Skript' den Arbeitsblattnamen zB.auf 'Grd' umstellt.

    =WENN(LÄNGE('Grundlage Skript'!B2);'Grundlage Skript'!A2&" "&'Grundlage Skript'!B2;"")
    &WENN(LÄNGE('Grundlage Skript'!D2);" "&'Grundlage Skript'!C2&" "&'Grundlage Skript'!D2;"")
    &WENN(LÄNGE('Grundlage Skript'!F2);" "&'Grundlage Skript'!E2&" "&'Grundlage Skript'!F2;"")
    &WENN(LÄNGE('Grundlage Skript'!H2);" "&'Grundlage Skript'!G2&" "&'Grundlage Skript'!H2;"")

    '.... usw. ...
    &WENN(LÄNGE('Grundlage Skript'!BN2);" "&'Grundlage Skript'!BM2&" "&'Grundlage Skript'!BN2;"")
    &WENN(LÄNGE('Grundlage Skript'!BP2);" "&'Grundlage Skript'!BO2&" "&'Grundlage Skript'!BP2;"")
    &WENN(LÄNGE('Grundlage Skript'!BR2);" "&'Grundlage Skript'!BQ2&" "&'Grundlage Skript'!BR2;"")
    &WENN(LÄNGE('Grundlage Skript'!BT2);" "&'Grundlage Skript'!BS2&" "&'Grundlage Skript'!BT2);"")
     
    Exl121150, 27. Juli 2022
    #5
    1 Person gefällt das.
  6. EaryTide Neuer User

    Vielen Dank für die Hilfe das ist genau das was ich gesucht hatte. Kann ich eigentlich davon eine Excel Vorlage (.xltx) erstellen die dieses VB-Modul beibehält?

    Vermutlich wäre das mit Excel Funktionen selbst nicht möglich bzw. zu kompliziert gewesen richtig?

    Werde mich jetzt auch etwas mehr mit Visual Basic beschäftigen da sich das anscheinend relativ nützlich macht.
     
    EaryTide, 27. Juli 2022
    #6
  7. EaryTide Neuer User
    Kannst bei Post #6 die Frage mit Excel ignorieren, die Seite war nicht aktualisiert. Nochmal wirklich danke das ist für mich fast wie Hexenwerk hier haha
     
    EaryTide, 27. Juli 2022
    #7
  8. EaryTide Neuer User

    Prüfen und Verketten von Zellen mit Formeln als Inhalt

    Bräuchte bei einer kleinen Sache noch Hilfe.

    Bei dieser Zeichenkette: "set /Setup/WLAN-Management/AP-Configuration/Accesspoints/ {1}" wird die Parameter Nr. {1} am Anfang mit einem Leerzeichen versehen, dafür das der Befehl funktioniert brauche ich den Anfang aber ohne Leerzeichen, hast du da eine Lösung für?

    Versuche das mit Excel Formeln irgendwie auszubügeln, da ich Visual Basic nicht beherrsche.
     
    EaryTide, 27. Juli 2022
    #8
  9. Exl121150 Erfahrener User
    Hallo,

    also wenn ich das recht verstanden habe, brauchst du statt
    der Zeichenkette "set /Setup/WLAN-Management/AP-Configuration/Accesspoints/ {1}..."
    die Zeichenkette "set /Setup/WLAN-Management/AP-Configuration/Accesspoints/{1}..."

    Die folgende VBA-Funktion erfüllt diesen Wunsch:
    Code:
    Option Explicit
    
    Public Function StringErzeugen(rngZeile As Range, Optional Tr2$ = " ", Optional Tr1$ = " ") As String
      Dim S As String, Sp As Long
      Dim S1 As String, S2 As Variant
     
      S = ""
      With rngZeile
          For Sp = 1 To .Columns.Count Step 2
        
            S1 = .Cells(Sp): S2 = .Cells(Sp + 1)
            Select Case Sp
              Case 1, 3
                If Not IsEmpty(S2) Then
                   S = S & S1 & Tr2 & S2
                End If
              Case Else
                If Not IsEmpty(S2) Then
                   S = S & Tr1 & S1 & Tr2 & S2
                End If
            End Select
          Next Sp
      End With
     
      StringErzeugen = S
    
    End Function
    

    Die modifizierte Datei liegt bei. Im Arbeitsblatt "Skript" in den Zellen A21, A22 und A23 müsste die gewünschte Änderung aufscheinen.
    Ebenfalls in den Zellen A27 und A28
     
    Zuletzt bearbeitet: 27. Juli 2022
    Exl121150, 27. Juli 2022
    #9
    1 Person gefällt das.
  10. EaryTide Neuer User
    Ja, ist genau das, was ich brauchte, super Datei, Danke schön.

    Eine Sache ist mir jedoch aufgefallen: Der VBA-Code entfernt keine Zellen, in denen eine Excel Formel enthalten ist.
    Bspw.

    Code:
    =WENN(Deploymentliste!E3="";"";GROSS(Deploymentliste!E3))
    

    Diese Formel zieht aus einer anderen Tabelle die Informationen für die Parameter {1} {2} {3} und tauscht kleine Buchstaben durch große aus.

    Wenn die Zelle, aus der die Informationen kommen, sollen leer ist, wird ein leerer String in die Zelle eingesetzt, da ich mit der Standardausgabe von Excel "0" nichts anfangen kann. (Weil weitere Formeln dann nicht gehen würden, etc.)

    Im VBA-Code am Ende erhalte ich dann folgende Ausgabe:
    Fehler ist Rot markiert.

    Code:
    set /Setup/WLAN-Management/AP-Configuration/Accesspoints/{1}  {2}  {3}  {4} DEFAULT {6} default {7} 2.4GHz {8} 5GHz..
    

    "set /Setup/WLAN-Management/AP-Configuration/Accesspoints/{1} {2} {3} {4} DEFAULT {6} default {7} 2.4GHz {8} 5GHz.."

    Gibt es eine Möglichkeit das der VBA-Code diese trotzdem entfernt?
    Sry das ich mit so vielen Sachen komme und auch so Häppchenweise, mir fällt das meiste gerade erst auf.
     
    EaryTide, 27. Juli 2022
    #10
  11. Exl121150 Erfahrener User
    Hallo,

    aus diesem Grund habe ich die Not IsEmpty(S2)-Funktion eingesetzt. Ich habe sie jetzt ersetzt durch
    Len(S2) And (S2 <> "0")
    d.h. stehen jetzt in der String-Variablen S2 irgendwelche Zeichen drinnen und ist das dann ungleich dem Zeichen "0", dann soll die Verkettung zuschlagen.
    Code:
    Option Explicit
    
    Public Function StringErzeugen(rngZeile As Range, Optional Tr2$ = " ", Optional Tr1$ = " ") As String
      Dim S As String, Sp As Long
      Dim S1 As String, S2 As String
     
      S = ""
      With rngZeile
          For Sp = 1 To .Columns.Count Step 2
          
            S1 = .Cells(Sp): S2 = .Cells(Sp + 1)
            Select Case Sp
              Case 1, 3
                   If Len(S2) And (S2 <> "0") Then
                      S = S & S1 & Tr2 & S2
                   End If
              Case Else
                   If Len(S2) And (S2 <> "0") Then
                      S = S & Tr1 & S1 & Tr2 & S2
                   End If
            End Select
          Next Sp
      End With
     
      StringErzeugen = S
    
    End Function
    


    Geänderte Datei liegt bei.
     
    Exl121150, 27. Juli 2022
    #11
    1 Person gefällt das.
Thema:

Prüfen und Verketten von Zellen mit Formeln als Inhalt

Die Seite wird geladen...
  1. Prüfen und Verketten von Zellen mit Formeln als Inhalt - Similar Threads - Prüfen Verketten Zellen

  2. Eingaben in 2 Feldern auf Plausibilität prüfen

    in Microsoft Excel Hilfe
    Eingaben in 2 Feldern auf Plausibilität prüfen: Hallo liebe Helferlein *;)* Folgende Aufgabenstellung: Eingabe in Zelle A1 muss einen Wert (auch "0") haben. Wenn nein, Hinweis "Pflichtfeld" Auch Zelle A2 muss einen Wert (auch "0") haben. Wenn...
  3. Excel VBA Datei durchsuchen, Datentyp prüfen und bestimmten Inhalt auslesen

    in Microsoft Excel Hilfe
    Excel VBA Datei durchsuchen, Datentyp prüfen und bestimmten Inhalt auslesen: Hallo liebe Community, ich muss mit einem VBA-Code bei einer Nessus-Datei prüfen, ob bei einer Stelle wo normalerweise eine IP-Adresse stehen sollte ein Hostname steht(z.B. HSTSERV02) (müsste...
  4. Textbox prüfen, ob Komma zweimal vorkommt

    in Microsoft Excel Hilfe
    Textbox prüfen, ob Komma zweimal vorkommt: Hallo Forum, ich habe wieder ein typisches Anfängerproblem. Ich möchte prüfen, ob in einer Textbox die Dezimalzahl mehr als ein Komma als Dezimaltrenner vorhanden ist. Falls das der Fall ist z.B....
  5. Inhaltssteuerelemente vor dem Schließen prüfen

    in Microsoft Word Hilfe
    Inhaltssteuerelemente vor dem Schließen prüfen: Hallo zusammen, ich bin auf der Suche nach einer Möglichkeit, das Word mein Dokument vor dem speichern bzw. schließen überprüft, ob wirklich alle Inhaltssteuerelemente ausgefüllt sind. Das...
  6. VBA duplikate finden und auf Kriterien prüfen

    in Microsoft Excel Hilfe
    VBA duplikate finden und auf Kriterien prüfen: Liebe Excel Gemeinschaft Ich möchte gerne mit VBA code Doppelte Einträge finden und 2 Kriterien sollen Geprüft werden un anderen spalte. Zu guter letzte sollte in einer weiter die...
  7. ODBC Verknüpfungen prüfen und evtl. automatisch herstellen

    in Microsoft Access Hilfe
    ODBC Verknüpfungen prüfen und evtl. automatisch herstellen: Hallo, ich möchte wenn ich meine Datenbank öffne alle MySQL ODBC-Verknüpfungen prüfen und wenn diese nicht vorhanden ist automatisch verknüfen. Die Verknüpfungen sind in einer Tabelle...
  8. Registrierung prüfen

    in Microsoft Teams Hilfe
    Registrierung prüfen: Hallo, ein Mitarbeiter unseres Unternehmens hat sich scheinbar bei Teams registriert. Wir wissen nicht wer das war und können somit nicht mit Teams arbeiten. Wie bekommen wir heraus welche...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden