Das Archiv des Excel-Forums

in einem Bereich Zelle für Zelle bearbeiten ...

Bild

Betrifft: in einem Bereich Zelle für Zelle bearbeiten ...
von: Peter

Geschrieben am: 08.05.2008 16:32:06

alter Wert übernehmen und neuer Wert zurückschreiben.
Guten Tag
Ich möchte im mit "Daten" benannten Spaltenbereich alle Werte mit einer selbstgebastelten Funktion bearbeiten und das Ergebnis in die gleiche Zeile zurückschreiben.
Kann mir jemand ein Beispiel posten, wie eine solche Schlaufe aufgebaut sein muss?
Vielen Dank , Peter

Bild

Betrifft: Zelle mit eigener Funktion kalkulieren
von: NoNet
Geschrieben am: 08.05.2008 16:41:39
Hallo Peter,
hier ein kleines Beispiel : Alle Zellen des Bereiches "Daten" werden einzeln mit einer eigenen Funktion neu berechnet (hier : mit 3 multipliziert und dann 100 addiert) :


Sub DatenBearbeiten()
    'Kalkuliert die Werte aus Bereich "Daten" mit einer eigenen Funktion
    'und schreibt die Ergebisse wieder in die Zellen zurück
    Dim rngZelle As Range
    For Each rngZelle In Range("Daten")
        rngZelle.Value = Kalkulation(rngZelle) 'Eigene Funktion wird aufgerufen
    Next
End Sub
Function Kalkulation(rngZelle) 'Die eigene Funktion zur Berechnung der neuen Werte
    Kalkulation = rngZelle.Value * 3 + 100 'Dies ist die Berechnung : Wert * 3 + 100
End Function

     Code eingefügt mit Syntaxhighlighter 4.7

PS: Es heisst "Schleife" und nicht "Schlaufe" (*gräusslich* )
Gruß, NoNet

Bild

Betrifft: OT: Wir wollen doch weder Schuhe noch Päckchen...
von: Luc:-?

Geschrieben am: 09.05.2008 02:18:14
...binden, NoNet... ;-)
Eigentlich heißt es nämlich zyklische Verarbeitung bzw kurz Zyklus. So hab ich das mal gelernt. Alles andere ist nur "gräuslicher" Jargon! ;-)
Gruß Luc :-?

Bild

Betrifft: AW: in einem Bereich Zelle für Zelle bearbeiten ...
von: Andi
Geschrieben am: 08.05.2008 16:41:58
Hi,
wenn ich Dich richtig verstanden habe, nach folgendem Prinzip (die


Function musst Du natürlich mit Deiner ersetzen):


Sub t()
Dim c As Range
For Each c In Range("Daten")
c.Value = MeineFunktion(c.Value)
Next c
End Sub



Function MeineFunktion(wert As Integer) As Integer
MeineFunktion = wert * 2
End Function


Schönen Gruß,
Andi

Bild

Betrifft: AW: in einem Bereich Zelle für Zelle bearbeiten ..
von: Reinhard

Geschrieben am: 08.05.2008 16:44:23
Hi peter,


Option Explicit
Sub Makro1()
Dim Zelle As Range
ActiveWorkbook.Names.Add Name:="Daten", RefersToR1C1:="=Tabelle1!R5C1:R10C1"
For Each Zelle In Range("Daten")
Zelle = Doppelt(Zelle.Value)
Next Zelle
End Sub
Function Doppelt(x)
On Error Resume Next
Doppelt = 2 * x
If Err.Number = 0 Then Exit Function
Doppelt = "was faul mit " & x
End Function


Gruß
Reinhard

Bild

Betrifft: AW: vielen Dank für die superschnelle Hilfe! owT
von: Peter
Geschrieben am: 08.05.2008 16:51:02


Bild

Betrifft: Alternativ könntest du aber auch die...
von: Luc:-?

Geschrieben am: 09.05.2008 02:29:28
...Subroutine vermeiden, Peter,
und deine udFkt gleich in die betroffenen Zellen eintragen. Wenn da schon Daten stehen ist es manuell (auch mit Hilfszelle!) kompliziert, stehen da Formeln ist es u.U. leichter (in 3 Phasen mit Ersetzen, habe ich kürzlich hier oder woanders beschrieben). Am Elegantesten ginge es natürlich mit einer Subroutine, die deinen udFkt-Aufruf in 2 Teilen um die Originaldaten/-formeln "herumlegt". So löse ich so etwas nämlich (z.B. bei nachträglich erforderlichem RUNDEN der Originaldaten). Die Originaldaten/-formeln bleiben so erhalten und du könntest die ganze Operation auch wieder rückgängig machen (falls an deiner udFkt was nicht stimmt).
Gruß Luc :-?

 Bild

Excel-Beispiele zum Thema "in einem Bereich Zelle für Zelle bearbeiten ..."

Leerzeichen aus einem Bereich löschen download Befindet sich die aktive Zelle in einem bestimmten Bereich? download
Mehrbereichsauswahl auf eine Seite drucken. download Spalten einer Mehrbereichsauswahl ausblenden. download
Bereich mit Maximalwert markieren download Benannten Bereich erweitern download
Bereich in RefEdit-Element eingeben und auslesen download Benutzerdefinierte SVERWEIS-Funktion über mehrere Bereiche download
Letzter Wert aus einem Bereich download Bereiche bei Mehrfachauswahl prüfen download
Auswahl eines Zellbereiches verhindern download Bereiche in Abhängigkeit eines Zellinhaltes drucken download
Den selben Bereichsnamen in mehreren Tabellenblättern download Leere Zeilen und Spalten in ausgewähltem Bereich löschen download
URLs eines ausgewählten Bereiches in HyperLinks umwandeln download Werte aus Zellbereich in eine Matrix übernehmen und auslesen download
Zellauswahl auf den ausgewählten Bereich beschränken download Berechnung des ausgewählten Bereiches in der Statusleiste download
Bereiche auf Übereinstimmung vergleichen download Scrollbereich begrenzen download
Tabellenblattbereich als Email versenden download Serie von Bereichsnamenteilen einer Arbeitsmappe ändern download
Worte in einem vorgegebenen Bereich zählen download Bereichsnamen ermitteln und als Kommentare anzeigen download
Bereichsnamen in UserForm-ListBox auflisten und editieren download Einen vorgegebenen Tabellenblattbereich in neue Arbeitsmappe download
Werte aus einem nicht zusammenhängendem Bereich auslesen download Druckbereich variabel gestalten download
Tabellenblattbereich sortiert als Zellkontextmenü download Überschriften aus Spalte C in Spalte D in den relevanten Bereich download
Druckbereich bis zum ersten Nullwert festlegen download Werte eines bestimmten Wochentages und eines Zeitbereiches addieren download
Markierten Bereich mit jeweiligem Mwst-Satz multiplizieren download Cursor in bestimmtem Zellbereich in Eieruhr verwandeln download
Maximalwert aus einem Bereich ermitteln und in Spalte A eintragen download Formelbereich in Einzelelemente aufschlüsseln download
Datenreihenbeschriftungs-Quellbereich ausserhalb des Datenbereiches download Diagramm-Datenbereich über Schaltfläche festlegen download
Abfrage zum Kopierbereich von Startzelle, Zeilen- und Spaltenanzahl download Einen von einer Schlüsselziffer abhängigen Bereich kopieren download
Namen eines ausgewählten Bereiches auslesen download Den in einer Zelle genannten Bereich eines Blattes drucken download
Zugriff auf Zellen unter Verwendung eines Bereichsnamens download Bereich aus anderer Tabelle für 2 Sekunden anzeigen download
Nur die sichtbaren Zellen eines AutoFilter-Bereiches einlesen download Aktuellen Bereich in den Spalten A:F als Druckbereich download
Über UserForm-RefEdit-Steuerelement Bereich auswählen download Über InputBox festzulegenden Bereich kopieren download
Anzahl der Übereinstimmungen in zwei Bereichen ermitteln download dBase-Datei laden, bearbeiten, speichern download
Adressen aus Adresstabelle übernehmen, bearbeiten, eintragen download