Clever-Excel-Forum

Normale Version: Schleife für Adressen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Ich habe in der Tabelle "tbl_Adressen" die Felder "Anrede", "Vorname", Nachname", "Briefanrede"

Ich möchte das Feld "Briefanrede" durch eine Schleife ausfüllen lassen


If Anrede.Value = "Frau" _
              Or Anrede.Value = "Familie" Then
              Briefanrede.Value = "Sehr geehrte " _
              & Anrede.Value & " " & Nachname.Value & ","
          Else
              If Anrede.Value = "Herr" Then
              Briefanrede.Value = "Sehr geehrter " _
              & Anrede.Value & " " & Nachname.Value & ","
          Else
              If Anrede.Value = "" Then
              Briefanrede.Value = "Sehr geehrte Damen und Herren, "
          End If
        End If
        End If

Aber wie bekomme ich das hin ?

Danke für eure Hilfe

Gruß Frank
Schade
Vielleicht hilft Dir das: Access
Code:
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim strSQL As String

' Öffne die Datenbank und definiere den SQL-String
Set db = CurrentDb
strSQL = "SELECT Anrede, Vorname, Nachname, Briefanrede FROM tbl_Adressen"

' Öffne einen Recordset basierend auf dem SQL-String
Set rs = db.OpenRecordset(strSQL)

' Schleife durch die Datensätze im Recordset
Do Until rs.EOF
    If rs("Anrede") = "Frau" Or rs("Anrede") = "Familie" Then
        rs("Briefanrede") = "Sehr geehrte " & rs("Anrede") & " " & rs("Nachname") & ","
    ElseIf rs("Anrede") = "Herr" Then
        rs("Briefanrede") = "Sehr geehrter " & rs("Anrede") & " " & rs("Nachname") & ","
    Else
        rs("Briefanrede") = "Sehr geehrte Damen und Herren, "
    End If
   
    rs.MoveNext
Loop

' Schließe den Recordset und die Datenbank
rs.Close
Set rs = Nothing
db.Close
Set db = Nothing
oder VBA
Code:
Dim i As Long
Dim Anrede As String
Dim Vorname As String
Dim Nachname As String
Dim Briefanrede As String

For i = 1 To Range("tbl_Adressen").Rows.Count
    Anrede = Range("tbl_Adressen").Cells(i, "Anrede").Value
    Vorname = Range("tbl_Adressen").Cells(i, "Vorname").Value
    Nachname = Range("tbl_Adressen").Cells(i, "Nachname").Value
   
    If Anrede = "Frau" Or Anrede = "Familie" Then
        Briefanrede = "Sehr geehrte " & Anrede & " " & Nachname & ","
    ElseIf Anrede = "Herr" Then
        Briefanrede = "Sehr geehrter " & Anrede & " " & Nachname & ","
    Else
        Briefanrede = "Sehr geehrte Damen und Herren, "
    End If
   
    Range("tbl_Adressen").Cells(i, "Briefanrede").Value = Briefanrede
Next i