Excel: Formeln nur in benutzte Zeilen übernehmen

Dieses Thema Excel: Formeln nur in benutzte Zeilen übernehmen im Forum "Microsoft Office Suite" wurde erstellt von Ace_NoOne, 11. Okt. 2005.

Thema: Excel: Formeln nur in benutzte Zeilen übernehmen Hallo, bei einer Vorlage für eine einfache Kontaktliste habe ich u.a. die Spalten Name, Vorname und Nachname....

  1. Hallo,

    bei einer Vorlage für eine einfache Kontaktliste habe ich u.a. die Spalten Name, Vorname und Nachname.
    Letztere werden automatisch ausgefüllt, indem der Name aufgesplittet wird (dank Matjes: http://www.wintotal-forum.de/index.php/topic,92133.0.html :) ).
    Allerdings möchte ich natürlich nicht alle 65.536 Zeilen mit dieser Formel füllen, zumal oft nur 10-20 Einträge in der Liste stehen. Der Nutzer soll aber auch nicht gezwungen sein, die Formel von Hand in die nächste Zeile zu kopieren.
    Gibt es eine Möglichkeit, diesen Vorgang zu automatisieren? Sobald eine neue Zeile in Angriff genommen wird, sollen auch die Formeln in den entsprechenden Spalten übernommen werden. (Sowas kommt wohl relativ häufig vor, daher gibt es bestimmt eine entsprechende Funktion, die ich bisher noch nicht entdecken konnte... !?)
     
  2. Da die Option Listenformat und Formeln erweitern (bzw. Datenbereich und Formeln erweitern) hier seltsamerweise nicht funktioniert (Beispieldatei zum Testen: http://www.herber.de/bbs/user/27395.xls - die Makros sind nur Matjes' Code zum Aufsplitten des Namens, also garantiert nichts Schädliches!), hab' ich Folgendes versucht:
    Code:
    Private Sub Workbook_SheetChange(ByVal Sh As Object, _
        ByVal Source As Range)
      Dim lastRow
      lastRow = ActiveSheet.UsedRange.Rows.Count
      If ActiveCell.Row > lastRow Then
        Cells(ActiveCell.Row, 3) = GibVorname(Cells(ActiveCell.Row, 2))
        Cells(Activecell.Row, 4) = GibNachname(Cells(ActiveCell.Row, 2))
      End If
    End Sub
    Allerdings führt das seltsamerweise zu einer Art Endlosschleife, weshalb ich Excel per Task Manager beenden muss... :(
     
  3. Hallo Ace_NoOne,

    im Prinzip ist das schon der richtige Weg.

    Das soll ja eine Kontakt-Liste werden, und da nehme ich mal an, dass das nur ein Blatt ist.

    Mit->Workbook_SheetChange' überwachst du alle Änderungen aller Arbeitsblätter. Besser wäre hier das Change-Ereignis im Tabellenblatt zu überwachen, und dabei die Spalte Name zu filtern. Ich mach dir mal ein Beispiel.

    Aus dem Makro entnehme ich, das es sich um die Spalten 2,3,4 handelt.

    Gruß Matjes :)
     
  4. Hallo Ace_NoOne,

    der nachfolgende Makro muß in der Code-Seite des Blattes liegen.

    Dort gelangt man am einfachsten hin, in dem man die Lasche des Blattes anklickt und->Code anzeigen' auswählt.

    Gruß Matjes :)

    Code:
    Private Sub Worksheet_Change(ByVal Target As Excel.Range)
      
      Const c_SP_EINGABENAME = 2
      Const c_SP_VORNAME = 3
      Const c_SP_NACHNAME = 4
      Const c_Z_ERSTEWERTEZEILE = 2
      
      Dim Zelle As Range
      
     ->Alle geänderten Zellen untersuchen
      For Each Zelle In Target
        
       ->Zelle liegt in der EingabeNamen Spalte ?
        If Zelle.Column = c_SP_EINGABENAME Then
          
         ->Zelle ist nicht Überschrift
          If Zelle.Row >= c_Z_ERSTEWERTEZEILE Then
            
           ->Formel in korrespondierender Zelle in Spalte Vorname eintragen
            Zelle.Offset(0, c_SP_VORNAME - c_SP_EINGABENAME).Formula = _
            =GibVorname( & _
            Zelle.Address(RowAbsolute:=False, ColumnAbsolute:=False) & )
            
           ->Formel in korrespondierender Zelle in Spalte Name eintragen
            Zelle.Offset(0, c_SP_NACHNAME - c_SP_EINGABENAME).Formula = _
            =GibNachname( & _
            Zelle.Address(RowAbsolute:=False, ColumnAbsolute:=False) & )
            
          End If
        End If
      Next
    AUFRAEUMEN:
      Set Zelle = Nothing
    End Sub
     
  5. Klappt perfekt - merci beaucoup!
     
Die Seite wird geladen...

Excel: Formeln nur in benutzte Zeilen übernehmen - Ähnliche Themen

Forum Datum
Nach Download von OO 2.4 Probleme mit Formeln aus Excell- Tabellen StarOffice, OpenOffice und LibreOffice 29. Apr. 2008
Excel 2007 Formeln Makros etc. immer richtige Verknüpfung Windows XP Forum 13. Juli 2007
[Excel] Formeln kopieren Microsoft Office Suite 5. März 2007
Excel: Formeln aktualisieren Windows XP Forum 17. Aug. 2005
Excel: Formeln werden nicht ausgeführt Microsoft Office Suite 2. Juni 2005