Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1588to1592
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

komplizierter Makro No. 2

komplizierter Makro No. 2
28.10.2017 10:47:13
Matthias
Guten Morgen,
in meiner Buchhaltungsdatei
https://www.herber.de/bbs/user/117271.xlsm
würde ich gerne noch folgendes Makro einbauen:
Wenn in Spalte D der Wert "3210" steht, oder eine dreistellige Zahl (also 1-999), dann soll in dieser Zeile der Wert in Spalte A gelöscht werden.
Dieses Makro soll dann vor den beiden anderen ausgeführt werden.
Die Datei ist nur ein Beispiel, die entsprechenden Zahlen sind immer in verschiedenen Zeilen...
Könnt ihr mir bitte nochmal helfen!?
Vielen Dank!
Matthias

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: komplizierter Makro No. 2
28.10.2017 10:56:33
Hajo_Zi
Hallo Matthias,
starte den VBA Editor (Alt+F11), Bild sollte zweigeteilt sein ansonsten Strg+R, Doppelklick auf Deine Datei, Doppelklick auf Deine Tabelle, Code ins rechte Fenster kopieren, VBA Editor schließen.
Das Makro wird automatisch gestartet.
Der Code wirkt nur in dieser Tabelle.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 4 Then
If Target = 3210 Or (Target >= 1 And Target 

Ich gebe keinen Dank für eine Rückmeldung, da ich durch solche Beiträge nicht meine Beitragszahl erhöhen muss.
Also ich schreibe keine Beiträge mit dem Betreff "Gerne u. Danke für die Rückmeldung. o.w.T."
Rückmeldung ist ja in der Heutigen Zeit nicht üblich und die wenigen die eine Rückmeldung geben, mögen mir das verzeihen, das kein Danke für eine Rückmeldung kommt.
Beiträge von Werner, Luc, robert und folgende lese ich nicht.
Anzeige
oder eine dreistellige Zahl (also 1-999) ;-)
28.10.2017 11:00:45
Matthias
Hallo
Das mit dreistellige Zahl kannst Du ja mit Len() und IsNumeric abfragen
ansonsten kannst Du das so machen:
Dim x&
For x = 2 To 13 'Ende anpassen
If Cells(x, 4) = 3210 Then Cells(x, 1).ClearContents
Next
Gruß Matthias L
noch ein paar Kleinigkeiten
28.10.2017 11:07:13
Matthias
Hallo
betrifft: Sub Speichern_und_Fertig()
Statt
    Columns("F:F").Select
Selection.NumberFormat = "0.00"

schreibe einfach:
    Columns("F:F").NumberFormat = "0.00"
Statt
    Range("I1").Select
ActiveCell.FormulaR1C1 = "Arbeitskonto Januar"

schreibe einfach:
    Range("I1").FormulaR1C1 = "Arbeitskonto Januar"
Statt
    Columns("G:I").Select
Selection.ClearContents

schreibe einfach:
    Columns("G:I").ClearContents
Range("F7").Select kanns Du löschen.
Gruß Matthias
Anzeige
AW: noch ein paar Kleinigkeiten
28.10.2017 11:18:59
Matthias
Danke für die Hilfe!
Leider kenn ich mich sehr wenig (in VBA gar nicht...) aus.
Kann ich diesen Befehl auch speichern und mit einem Formularsteuerelement verknüpfen?
Wie geht das?
Ja, kannst Du machen ...
28.10.2017 11:37:16
Matthias
Hallo
Schaltfläche einfügen:
Userbild
Die Zuweisung dann so:
Userbild
Gruß Matthias
AW: Ja, kannst Du machen ...
28.10.2017 11:43:22
Matthias
Ok, aber ich muss ja diesen Befehl:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 4 Then
If Target = 3210 Or (Target >= 1 And Target 
erst noch als Makro speichern, wie mache ich das?
Anzeige
Du vermischst die Antworten ...
28.10.2017 12:26:52
Matthias
Halo
Das Worksheet_Change - Ereignismakro hat Hajo vorgeschlagen (nicht ich)
Dieses gehört in die entsprechende Tabelle und wird ausgelöst
durch die Eingabe eines Wertes in Spalte("D")
If Target.Column = 4 Then
Deine Ausgangsfrage war aber:
Wenn in Spalte D der Wert "3210" steht, oder eine dreistellige Zahl (also 1-999)
dreistellige Zahl (also 1-999) ;-) (meinen Hinweis hast Du auch noch nicht verstanden)
Das heißt für mich, die Werte sind schon in den Zellen vorhanden
Was Du nun tatsächlich möchtest ist also nicht ganz klar.
Gruß Matthias
Anzeige
AW: Du vermischst die Antworten ...
28.10.2017 13:24:44
Matthias
Ok - verstehe.
Also ich hab schon eine Datei, in der alle D-Werte auf Zahlen von 1-999 (also ein-, zwei-, und dreistellig :) und auf die Zahl 3210 durchsucht werden sollen.
Und in den jeweiligen Zeilen soll dann die Spalte A gelöscht werden.
Diese Befehlskette will ich dann eben mit so einem Feld zum klicken in Gang setzen.
Verstehst du, was ich meine?
Danke und Gruß
Datei zurück ...
28.10.2017 13:57:41
Matthias
Hallo
Dim x&
For x = 2 To 13 'Ende anpassen
If IsNumeric(Cells(x, 4)) Then
If Cells(x, 4) > 0 And Cells(x, 4) 
https://www.herber.de/bbs/user/117277.xlsm
Gruß Matthias L
Anzeige
AW: Datei zurück ...
28.10.2017 14:05:09
Matthias
Super, herzlichen Dank!
Viele Grüße, Matthias R
Danke für die Rückmeldung :-) owT
28.10.2017 14:07:19
Matthias

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige