Office: zellinhalte löschen via VBA

Helfe beim Thema zellinhalte löschen via VBA in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo Ihr Lieben. Bräuchte dringend Eure Hilfe für einen VBA-Programmierung, allerdings mache ich soetwas das erste Mal, als kleine Vorwarnung :-)... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Fleckerl1411, 5. April 2009.

  1. Fleckerl1411 Erfahrener User

    zellinhalte löschen via VBA


    Hallo Ihr Lieben.

    Bräuchte dringend Eure Hilfe für einen VBA-Programmierung, allerdings mache ich soetwas das erste Mal, als kleine Vorwarnung :-)

    Da in unserer Arbeit eigentlich Makros gesperrt sind hatte ich Hoffnung es ohne Hinzubekommen, doch nach langer Recherche im Internet und hier im Forum (vgl. meinem letzten Beitrag OO Nachkommastellen prüfen), wurde es zur bitteren Erkenntnis, dass es für mein Vorhaben keine andere Möglichkeit gibt. Und so habe ich eine Freigabe für eine Makro bekommen.

    Vorab: Zuhause arbeite ich eigentlich mit Open Office, jedoch brauch ich die Tabelle für meine Arbeit und dort ist es Excel2003, daher brächte ich dafür ein funktionierendes Script.


    Folgendes Problem ist zu lösen:
    Ich hab in meiner Tabelle Felder die manuell auszufüllen sind, jedoch möchte ich erreichen, dass immer nur eine Zeile aktiv sein kann. z.B. wenn in Zeile 3 in Spalte A, B und C eine Eingabe gemacht wurde, diese automatisch gelöscht wird sobald in Zeile 6 ein eintrag gemacht wird, was wiederum über ganze 8 Tabellenblätter passieren muss.
    Da in der "aktiven" Zeile mehrere Berechnungen stattfinden und eine Berechnung nur dann fehlerfrei funktioniert, wenn ausschließlich eine Zeile ausgefüllt ist, möchte ich es dem Anwender so einfach als möglich machen und es automatisieren. Damit er nicht manuell seine Eingaben über die Tabellenblätter hinweg löschen muß, um einen neuen Artikel zu berechnen.

    Ich hoffe Ihr könnt mir helfen und ich habe das Problem verständlich formuliert.

    Vielen Dank für Eure Hilfe.

    Lg Fleckerl1411
     
    Fleckerl1411, 5. April 2009
    #1
  2. schatzi Super-Moderator
    Hallo!

    Natürlich ist das mit VBA möglich, à la
    Code:
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If Target.Row = 6 Then Target.Offset(-3, 0) = ""
    End Sub
    (löscht den Inhalt der Zeile 3, wenn in Zeile 6 der entsprechenden Zeile eine Änderung erfolgte)
    Aber nachdem ich mir deinen vorherigen Thread angeschaut habe, könnte es auch an deiner Abfrage liegen:
    Wenn du diese Abfrage etwas genauer beschreiben könntest, dann ist vielleicht auch eine reine Formellösung möglich.
     
    schatzi, 5. April 2009
    #2
  3. Fleckerl1411 Erfahrener User
    Hallo Schatzi,

    Danke für Deine Antwort, jedoch trifft es die Sache noch nicht ganz. Es ist nicht immer Zeile 3, sondern auf dem einen Tabellenblatt stehen z.B. 8 Artikel, auf dem nächsten dafür 100 von einer Sorte usw. und er soll bei einer Eingabe in einer x-beliebigen Zeile in einem x-bliebigen Tabellenblatt innerhalb der Artikel natürlich, die gemachten Eingaben in anderen Zeilen löschen.

    Ich arbeite deshalb mit dieser Formel, da ich noch Berechnung für Porto und Verpackung anstellen muß und das für 2 verschieden Spediteure. Da ich aber nicht für jeden einzelnen Artikel 2 Zeilen für die Spedition machen möchte, gibt es die in einem separaten Tabellenblatt nur einmal, dafür werden hier alle Artikel in Listenform aufgeführt und die gemacht Eingabe hierher übertragen (Länge, Stück, Gewicht, PLZ). Mit der KGrösste-Formel sucht er sich die Länge und anhand von Sverweis und Index die danebenstehenden Eingaben, woraus er beide Speditionsarten berechnet und den günstigeren Anbieter wieder zurück auf das ursprüngliche Tabellenblatt des Artikel gibt. Dass der Anwender alles auf einen Blick sieht ( Ek, VK, Gewicht, Porto, Versandart, Verpackungsart uvm.)
    Da aber Excel ja nicht wissen kann welcher Artikel nun gerade gemeint ist, muß ich sicher stellen dass alle anderen Artikel auf 0 bzw. leer stehen, damit er die richtige Länge usw. findet und somit eine korrekte Berechnung von Porto und Verpackung sicher gestellt ist. Mir ist keine andere Möglichkeit eingefallen wie ich das gewährleiste.

    Vielen Dank für Deine Mühe! :-)

    Lg Fleckerl1411
     
    Fleckerl1411, 6. April 2009
    #3
  4. schatzi Super-Moderator

    zellinhalte löschen via VBA

    Hallo!

    Die Sache mit KGRÖSSTE und LÄNGE verstehe ich zwar nach wie vor nicht, aber egal...
    Dieser Code lässt in jedem Tabellenblatt in jeder Spalte jeweils nur EINEN Eintrag zu (Vorherige Einträge in der Spalte werden gelöscht):
    Code:
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Dim temp
        If WorksheetFunction.CountA(Sh.Columns(Target.Column)) > 1 Then
            temp = Target
            Sh.Columns(Target.Column).ClearContents
            Target = temp
        End If
    End Sub
     
    schatzi, 6. April 2009
    #4
  5. Fleckerl1411 Erfahrener User
    Hallo Schatzi,

    vielen vielen Dank für Deine Hilfe, nun sind meine Bauchschmerz in Luft aufgelöst, den es funzt prima.

    Nochmals vielen Dank für Deine Hilfe.

    Schönen Tag noch und frohe Ostern.

    Lg Fleckerl1411
     
    Fleckerl1411, 10. April 2009
    #5
Thema:

zellinhalte löschen via VBA

Die Seite wird geladen...
  1. zellinhalte löschen via VBA - Similar Threads - zellinhalte löschen via

  2. VBA Hilfe für Zahlen eingeben und addieren + zellinhalt löschen

    in Microsoft Excel Hilfe
    VBA Hilfe für Zahlen eingeben und addieren + zellinhalt löschen: Hallo Leute ich brauche dringend Hilfe von einem VBA Spezialisten. Ich hoffe ihr seit mir nicht böse wenn ich sage das ich alles in der Datei beschrieben habe. Würde mich sehr freuen wenn jemand...
  3. Zahlen eingeben und addieren + zellinhalt löschen

    in Microsoft Excel Hilfe
    Zahlen eingeben und addieren + zellinhalt löschen: Hallo Leute ich habe ein Problem. Würde gerne wissen ob einer eine Idee hat das mit VBA gelöst werden kann. In einer Tabelle sind werte eingegeben. Gutstücke , Ausschuss jeweils für Früh Spät und...
  4. Zellinhalt suchen und Zeile mit Fund löschen

    in Microsoft Excel Hilfe
    Zellinhalt suchen und Zeile mit Fund löschen: Hallo Forum, ich bin ganz frisch in der Materie und bastel grad an meinem ersten VBA Projekt. Nun könnte ich zu folgender Problemstellung Hilfe gebrauchen: Ich habe umfangreiche Tabellen mit ca....
  5. Zellinhalte mehrerer Tabellenblätter löschen

    in Microsoft Excel Hilfe
    Zellinhalte mehrerer Tabellenblätter löschen: Hallo, ich bin absoluter Newbie im Bereich VBA und such mir jetzt seit Tagen einen Ast und bekomme es einfach nicht nicht gebacken! Habe mir sonst immer die Sachen die ich brauchte aus Foren...
  6. Zellinhalt löschen und alle anderen Zellinhalte eine Zelle weiter hoch holen!

    in Microsoft Excel Hilfe
    Zellinhalt löschen und alle anderen Zellinhalte eine Zelle weiter hoch holen!: Guten Abend liebes Forum, ich wünsche allen usern noch ein frohes und gesundes Neues Jahr. Gibt es eine möglichkeit, wenn ich z.B. den Zellinhalt von A10 raus lösche, dass sich die restlichen...
  7. Zellinhalt unter bestimmten Voraussetzungen löschen

    in Microsoft Excel Hilfe
    Zellinhalt unter bestimmten Voraussetzungen löschen: Moin, hab ne Frage zu Excel2010. Ich habe ei Formular wlces ein Zelle unter bestimmten Vorausetzzungen bearbeiten soll. Wenn in Zelle A4 der Wert X angegeben wird, soll in Zelle A4 auch ein X...
  8. Probleme mit Zellinhalt löschen

    in Microsoft Excel Hilfe
    Probleme mit Zellinhalt löschen: Guten Tag allerseits, wie es schon in der Überschrift steht habe ich ein kleines Problem und hoffe der ein oder andere kann mir da weiterhelfen. Ich versuche mal zu beschreiben was ich vorhabe....
  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