Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro - Nachbarzelle ansprechen

Forumthread: Makro - Nachbarzelle ansprechen

Makro - Nachbarzelle ansprechen
meixner
Hallo zusammen,
bräuchte eure Hilfe für ein Makro:
ich bin in Zelle F10: wenn die Zelle rechts von F10 (muß immer die Nachbarzelle ansprechen in dem Fall G10) ="ADD" oder "DEL" dann nimm Betrag aus Zelle F14 teile es durch dreißig und schreibe es in F10.
vielen Dank im Voraus und VG
Dani
Anzeige
AW: Makro - Nachbarzelle ansprechen
06.10.2009 11:56:55
Mario
Hi,
dazu brauchst du kein Makro.
Schreib mal folgende Formel in F10.
=WENN(ODER(G10="ADD";G10="DEL")=WAHR;F14/30;"")
Gruß
Mario
AW: Makro - Nachbarzelle ansprechen
06.10.2009 12:05:58
meixner
Ich brauche schon ein Makro. Oben ist ja nur ein Teil des Problems genannt.
Wenn Forme kriege ich auch hin :-)
danke trotzdem.
dani
Anzeige
AW: Makro - Nachbarzelle ansprechen
06.10.2009 12:12:35
Mario
hallo,
dass musst du schon dazu schreiben. Ich vermeide Makros wenn sich's über ne Formel erschlagen lässt.
folgender Codeschnipsel sollte es tun.
With ActiveSheet
If .Range("G10").Value = "ADD" Or .Range("G10").Value = "DEL" Then
.Range("F10").Value = .Range("F14").value / 30
End If
End With
Gruß
Mario
Anzeige
AW: Makro - Nachbarzelle ansprechen
06.10.2009 12:19:58
Mario
Wer lesen kann ist klar im Vorteil.
Vergiss das Makro oben. Nimm folgenden Code:
Dim Wert As Variant
With ActiveSheet
Wert = ActiveCell.Offset(0, 1).Value
If Wert = "ADD" Or Wert = "DEL" Then
ActiveCell.Value = .Range("F14").Value / 30
End If
End With
AW: Makro - Nachbarzelle ansprechen
06.10.2009 12:50:24
meixner
super. das hilft schon mal weiter.
vielen Dank
Dani
Anzeige
AW: Makro - Nachbarzelle ansprechen
06.10.2009 13:02:23
meixner
Hallo Mario,
hab das Makro leicht abgeändert. Aber das funktioniert nicht mehr?
VG
Dani
Sub Gewichte_berechnen()
Dim Wert As Variant
With Worksheets("Liquiditätsanalyse").Activate
Wert = Cells("F10:F100").Offset(0, 1).Value
If Wert = "Addition" Or Wert = "Deletion" Then
Cells(F10).Value = Worksheets("Cers Date Import").Range("B5").Value * Cells(F10).Value = Worksheets("Data").Range("ap11").Value / 30 / 100
End If
End With
Anzeige
AW: Makro - Nachbarzelle ansprechen
06.10.2009 13:46:15
meixner
Hallo könnte mir jmd. bei unterem Makro helfen?
Sub Gewichte_berechnen()
Dim Wert As Variant
With Worksheets("lianalyse").Activate
Wert = Range("F10:F100").Offset(0, 1).Value
If Wert = "Addition" Or Wert = "Deletion" Then
Range("F10:F100").Value = Worksheets("Cers Date Import").Range("B5").Value * Worksheets("Data"). _
Range("aq11").Value / 40 / 100 / Range("F10:F100").Offset(0, 5).Value
End If
End With
End Sub
Vielen Dank.
Dani
Anzeige
AW: Makro - Nachbarzelle ansprechen
06.10.2009 13:50:17
meixner
Hallo könnte mir jmd. bei unterem Makro helfen?
Sub Gewichte_berechnen()
Dim Wert As Variant
With Worksheets("lianalyse").Activate
Wert = Range("F10:F100").Offset(0, 1).Value
If Wert = "Addition" Or Wert = "Deletion" Then
Range("F10:F100").Value = Worksheets("Cers Date Import").Range("B5").Value * Worksheets("Data"). _
_
Range("aq11").Value / 40 / 100 / Range("F10:F100").Offset(0, 5).Value
End If
End With
End Sub

Vielen Dank.
Dani
Anzeige
AW: Makro - Nachbarzelle ansprechen
06.10.2009 13:51:11
Matthias5
Hi,
versuchs mal so:
Sub Gewichte_berechnen()
Dim Wert As Variant
With Worksheets("lianalyse")
Wert = .Range("F10:F100").Offset(0, 1).Value
If Wert = "Addition" Or Wert = "Deletion" Then
.Range("F10:F100").Value = Worksheets("Cers Date Import").Range("B5").Value * _
Worksheets("Data").Range("aq11").Value / 40 / 100 / .Range("F10:F100").Offset(0, 5).Value
End If
End With
End Sub
Gruß,
Matthias
Anzeige
AW: Makro - Nachbarzelle ansprechen
06.10.2009 13:54:49
meixner
vielen Dank, klappt aber nicht. Bekomme die Fehlermeldung "Laufzeitfehler 13". Typen unverträglich?
VG
Dani
AW: Makro - Nachbarzelle ansprechen
06.10.2009 14:08:00
Matthias5
Hi Dani,
da hab ich wieder mal nicht richtig geguckt. Versuche es mal so:
Sub Gewichte_berechnen()
Dim Wert As String, c As Range
For Each c In Worksheets("lianalyse").Range("F10:F100")
Wert = c.Offset(0, 1).Value
If Wert = "Addition" Or Wert = "Deletion" Then _
c.Value = Worksheets("Cers Date Import").Range("B5").Value * _
Worksheets("Data").Range("aq11").Value / 40 / 100 / c.Offset(0, 5).Value
Next c
End Sub
Gruß,
Matthias
Anzeige
AW: Makro - Nachbarzelle ansprechen
06.10.2009 15:30:43
meixner
super. Das funktioniert!
Du hast mir schon sehr geholfen. Brauche aber noch einmal deine Hilfe:
Falls Wert = "" (falls die Zelle leer) sollen Zahlen bzw. Werte aus dem Datenblatt "Data2" übernommen werden. Hast Du da auch einen Tip?
Vielen Dank schon im Voraus.
Dani
AW: Makro - Nachbarzelle ansprechen
06.10.2009 16:09:33
Rudi
Hallo,
Sub Gewichte_berechnen()
Dim Wert As String, c As Range
For Each c In Worksheets("lianalyse").Range("F10:F100")
Wert = c.Offset(0, 1).Value
Select Case Wert
Case "Addition", "Deletion"
c.Value = Worksheets("Cers Date Import").Range("B5").Value * _
Worksheets("Data").Range("aq11").Value / 40 / 100 / c.Offset(0, 5).Value
Case ""
'Glaskugel: welche Werte aus Data2?
End Select
Next c
End Sub

Gruß
Rudi
Anzeige
AW: Makro - Nachbarzelle ansprechen
06.10.2009 16:55:15
meixner
die Daten befinden sich auf Datenblatt "Data2" in spalte Y (Y10:Y100).
VG und vielen Dank
dani
;
Anzeige
Anzeige

Infobox / Tutorial

Makro zur Bearbeitung von Nachbarzellen in Excel


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und navigiere zum gewünschten Arbeitsblatt, zum Beispiel "Liquiditätsanalyse".
  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.
  3. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.
  4. Füge den folgenden Code in das Modul ein:
Sub Gewichte_berechnen()
    Dim Wert As String, c As Range
    For Each c In Worksheets("lianalyse").Range("F10:F100")
        Wert = c.Offset(0, 1).Value
        If Wert = "Addition" Or Wert = "Deletion" Then
            c.Value = Worksheets("Cers Date Import").Range("B5").Value * _
            Worksheets("Data").Range("aq11").Value / 40 / 100 / c.Offset(0, 5).Value
        End If
    Next c
End Sub
  1. Schließe den VBA-Editor und gehe zurück zu Excel.
  2. Führe das Makro aus, indem du ALT + F8 drückst, das Makro auswählst und auf Ausführen klickst.

Häufige Fehler und Lösungen

  • Laufzeitfehler 13: Typen unverträglich
    Dieser Fehler tritt auf, wenn du versuchst, unterschiedliche Datentypen zu vergleichen oder zuzuweisen. Stelle sicher, dass die Zellen, auf die du zugreifst, den korrekten Datentyp haben (z. B. Text oder Zahl).

  • Fehler in der Zellreferenz
    Überprüfe, ob die Zellreferenzen korrekt sind. Achte darauf, dass du die richtigen Blätter und Zellen verwendest, wie "F10:F100" für den Bereich, den du bearbeiten möchtest.


Alternative Methoden

Falls du kein Makro verwenden möchtest, kannst du dies auch mittels einer Formel lösen. In Zelle F10 könntest du die folgende Formel verwenden:

=WENN(ODER(G10="ADD";G10="DEL");F14/30;"")

Diese Formel prüft, ob die Nachbarzelle G10 "ADD" oder "DEL" enthält und teilt F14 durch 30, falls dies zutrifft.


Praktische Beispiele

  1. Zelle F10 ansprechen:
    Wenn du in Zelle F10 bist und G10 "ADD" oder "DEL" enthält, wird der Wert aus F14 durch 30 geteilt und in F10 geschrieben.

  2. Datenübernahme aus Data2:
    Ergänze das Makro, sodass leere Zellen in "lianalyse" mit Werten aus "Data2" in Spalte Y (Y10:Y100) gefüllt werden:

Case ""
    c.Value = Worksheets("Data2").Range("Y" & c.Row).Value

Tipps für Profis

  • Nutze Option Explicit am Anfang deines Moduls, um sicherzustellen, dass alle Variablen deklariert werden. Dies hilft, Fehler zu vermeiden.
  • Verwende Fehlerbehandlungsroutinen in deinem Makro, um unerwartete Fehler zu handhaben.

FAQ: Häufige Fragen

1. Wie kann ich das Makro für andere Zellen anpassen?
Du kannst die Zellreferenzen in der Range-Anweisung ändern, um das Makro auf andere Bereiche anzuwenden.

2. Was mache ich, wenn ich keine VBA-Erfahrung habe?
Es ist empfehlenswert, Tutorials zu VBA zu besuchen, um ein besseres Verständnis für die Programmierung in Excel zu bekommen. Schau dir auch einfache Beispiele an, um zu lernen.

3. Wo finde ich die Excel-Version, die ich benutze?
Klicke auf Datei > Konto, um die Excel-Version anzuzeigen.

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