Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
892to896
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
892to896
892to896
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Change Code Zusammenlegen

Change Code Zusammenlegen
31.07.2007 21:31:00
tomi
Hallo Excel-Spezialisten !
Ich habe hier 2 VBA Codes die ich unter einen Hut bringen will. Da ich jedoch so gut wie keine Kenntnis von VBA habe und ich diese hier gefunden habe und ich diese Codes brauchen kann, jedoch wie es scheint nicht beide in ein Tabellenblatt hineinbringen kann, denn dann kommt eine Fehlermeldung, ersuche ich euch, mir zu schreiben, wie ich diese beiden gemeinsam in ein Tabellenblatt bringen kann, sodaß sie funktionieren. Danke im voraus
Tomi

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim dRow As Double
If Intersect(Range("A3:G4000"), Target) Is Nothing Then Exit Sub
For dRow = Target.Row To Target.Row + Target.Rows.Count - 1
Cells(dRow, 11).Value = Date
Next dRow
End Sub



Private Sub Worksheet_Change(ByVal Target As Range)
Dim lRow As Long
If Not ((Target.Column = 8 _
Or Target.Column = 9) And _
Target.Row > 1) Then GoTo leave_sub
On Error GoTo leave_sub
If IsDate(Target) Then ' Abfrage, ob Datum
lRow = Sheets("Erledigt").Range("H" & Sheets("Erledigt").Rows.Count).End(xlUp).Row + 1
ActiveSheet.Range(Cells(Target.Row, 1), Cells(Target.Row, 9)).Copy
Sheets("Erledigt").Cells(lRow, 1).PasteSpecial Paste:=xlPasteValues
Target.EntireRow.Delete (xlUp)
MsgBox "Datensatz wurde archiviert!", vbOKOnly + vbInformation, "Archiv"
End If
leave_sub:
End Sub


21
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Change Code Zusammenlegen
31.07.2007 21:53:43
Ramses
Hallo
"...Da ich jedoch so gut wie keine Kenntnis von VBA habe ..."
"...und ich diese Codes brauchen kann..."
Sorry,... wenn ich das lese muss ich sagen: Das beisst sich :-)
Beschreibe lieber was du haben willst, das macht das ganze einfacher.
Ausserdem ist diese Sequenz ist völlig sinnlos
For dRow = Target.Row To Target.Row + Target.Rows.Count - 1
Cells(dRow, 11).Value = Date
Next dRow
weil damit nur das Datum in der ausgewählten Zeile der Spalte H eingetragen wirdeingetragen wird
Das kannst du mit
cells(target.row,11) = date
genauso machen
Gruss Rainer

Anzeige
OT:
31.07.2007 21:55:31
{Boris}
Hi Rainer,
hab Deine Mail nicht gefunden?!? Schick mal an m y e x c e l at g m x d e
Grüße Boris

Skype on ? o.w.T.
31.07.2007 21:56:26
Ramses
...

Yep oT
31.07.2007 22:01:25
{Boris}

AW: Change Code Zusammenlegen
31.07.2007 22:05:06
tomi
Hallo !
Ich will,
mit dem ersten code:
wenn ich aus einer anderen Tabelle eine Zeile automatisch hineinkopiere diese mit dem aktuellen Datum in Spalte K füllen
und mit dem zweiten code:
Wenn ich dort ein Datum eingebe, dann soll es in die Tabelle "Erledigt" kopiert und auf der wo ich das Datum eingebe, gelöscht werden. Dies alles in Spalte L oder M.
Hoffe ich habe mich korrekt ausgedrückt
Danke tomi

Anzeige
AW: Change Code Zusammenlegen
31.07.2007 22:21:00
Ramses
Hallo
Ok. Soweit verstanden, aber mit welchem Code machst du das ?
"...eine Zeile automatisch hineinkopiere ..."
Damit kannst du das Datum doch auch gleich eintragen.
und was meinst du mit
"..Dies alles in Spalte L oder M...:"
Gruss Rainer

AW: Change Code Zusammenlegen
31.07.2007 22:46:59
Renee
Hi Rainer,
Als Ur-Verfasserin des Codes muss ich mich gegen die Aussage:
Ausserdem ist diese Sequenz ist völlig sinnlos
wehren. Der Code trägt der Tatsache Rechnung, das wenn nicht nur 1 Zeile geändert wird sondern mehrere (z.B. mit Kopieren eines ganzen Bereichs), dass in allen Zeilen in Kolonne 11 ein Datum eingetragen wird.
Dieser Codeschnipsel ist allerding ein Arbeitskopie und hat sich in der Zwischenzeit in anderen Threads verbessert (u.a. ist ein Application.EnableEvents = False) vorgeschaltet. Leider werden hier aber Codeteile gehandelt, ohne zu wissen für was der Code entwickelt wurde und wie er sich weiterentwickelt hat.
Im Übrigen ist auch der 2te Codeschnipsel von mir verfasst. Beim Erstellen hab ich allerdings nicht daran gedacht, dass die Leute hier Code einfach als Legobausteine anschauen...
Greetz Renee

Anzeige
AW: Change Code Zusammenlegen
31.07.2007 22:51:00
Ramses
Hallo
du musst dich nicht wehren :-)
1. Weiss ich nicht woher der Code kommt, und es interessiert mich eigentlich auch nicht
2. In diesem Zusammenhang wie der Code hier gezeigt wurde ist das sinnlos, und das lässt sich nicht wegdiskutieren
3. "...dass die Leute hier Code einfach als Legobausteine anschauen..."
Das ist der doch fast der Normalfall,.. dass solltest du doch aber auch schon wissen :-)
Gruss Rainer

AW: Change Code Zusammenlegen
31.07.2007 23:00:58
Renee
Hi Rainer...
Du entäuscht mich... Punkt 2.
Hi Tomi,
Hier ist der kombinierte und verbesserte Code:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim lRow As Long
If Not ((Target.Column = 8 _
Or Target.Column = 9) And _
Target.Row > 1) Then
If Intersect(Range("A3:G4000"), Target) Is Nothing Then Exit Sub
Application.EnableEvents = False
For lRow = Target.Row To Target.Row + Target.Rows.Count - 1
Cells(lRow, 11).Value = Date
Next lRow
Application.EnableEvents = True
Exit Sub
End If
On Error GoTo leave_sub
If IsDate(Target) Then ' Abfrage, ob Datum
Application.EnableEvents = False
lRow = Sheets("Erledigt").Range("H" & Sheets("Erledigt").Rows.Count).End(xlUp).Row + 1
ActiveSheet.Range(Cells(Target.Row, 1), Cells(Target.Row, 9)).Copy
Sheets("Erledigt").Cells(lRow, 1).PasteSpecial Paste:=xlPasteValues
Sheets("Erledigt").Cells(lRow, 1).PasteSpecial Paste:=xlPasteFormats
Target.EntireRow.Delete (xlUp)
MsgBox "Datensatz wurde archiviert!", vbOKOnly + vbInformation, "Archiv"
Application.EnableEvents = True
End If
leave_sub:
End Sub


Greetz Renee

Anzeige
AW: Change Code Zusammenlegen
31.07.2007 23:14:59
tomi
Hallo !
Danke das ihr mir so nett helft, leider funktioniert dieser Code bei mir nicht. Ich habe die Datei hier reingestellt.
gruß tomi
https://www.herber.de/bbs/user/44652.xls

AW: Change Code Zusammenlegen
31.07.2007 23:24:00
Renee
Hallo Tomi,
Der Code funktioniert sehr wohl.
Er soll den gesamten Code im Tabelleblatt "Neuwagen-Finanzierung" ersetzten.
Greetz Renee

AW: Change Code Zusammenlegen
31.07.2007 23:26:00
Renee
Hi Tomi,
Bitte erklär mal den Zusammenhang zwischen den Blättern.
Wann wird was von wo nach wo kopiert und wann (unter welchen Bedingungen) soll was von wo ins Archiv.
Greetz Renee

Anzeige
AW: Change Code Zusammenlegen
31.07.2007 23:32:00
Ramses
Hallo
"..Du entäuscht mich... Punkt 2..."
Weshalb,... ich dachte das hätte ich ausreichend erklärt in meinem Beitrag.
Es geht um die Variante wie der Code hier gezeigt wurde.
Und da kann ja wohl niemand davon ausgehen, sofern er das nicht programmiert hat, dass der Code dazu gemacht wurde, ein Datum einzutragen wenn Zeilen oder Bereiche in die Tabelle kopiert werden.
Mit deinem Hintergrundwissen und wozu das gut sein soll,... Respekt. Elegante Lösung.
Nur noch so ein kleiner Hinweis am Rande zur weiteren Verbesserung :-)
Wenn du
... einen Bereich gleich oder grösser als drei Zeilen/Zellen kopierst, diesen in dieser Tabelle in die Zeile 1 oder 2!! einfügst, wird der Code auch ausgeführt. Die Abfrage Intersect greift hier nicht, da Target hier beim Einfügen die Zeile 3 tangiert und somit aktiv ist
If Target.Cells(1,1) >= 3
Damit kannst du die erste Zeile des ausgewählten Bereiches abfragen und allenfalls einen manuellen Einfügevorgang abrrechen
...in dieser Tabelle ganze Spalten löscht im Bereich von A:G , soll ja mal vorkommen, ist der Effekt, dass die Spalte K bis zur Zeile 65536 mit dem aktuellen Datum auffüllst :-)
Da würde eine Abfrage über Selection.Rows.Count Sinn machen, wenn die gleich Rows.Count ist, dann würde ich abbrechen oder Rückfragen :-)
So, und nun solls aber gut sein ,.. oder ?
Gruss Rainer

Anzeige
AW: Change Code Zusammenlegen
01.08.2007 09:43:38
Renee
Hello Rainer,
Danke für die Hinweise für der Fehlerquellen.
Ich werde diese verbessern, wenn ich ein Feedback vom Anfrager habe, denn nach Durchsicht seiner hochgeladenen Mappe, kommen mir sowieso gewisse Zweifel (siehste mir jetzt auch) ob das Ganze so Sinn macht.
Greetz Renee

...deshalb ist es auch sinnvoll, in Eventprocs...
01.08.2007 03:31:48
Luc:-?
...keine vollständigen Pgmm einzubauen, sondern fallweise UPs im Normalmodul aufzurufen! ;-)
Gruß Luc :-?

AW: ...noch sinnvoller wäre...
01.08.2007 10:03:00
Renee
wenn Du Luc mit der Pipen in dat Mul
mal einen konkreten (Code-)Vorschlag machen würdest, als Dich hier in Deinen geistigen Theorieergüssen zu ergehen....
Renee (übrigens auch in CH wohnhaft... ;-)

Anzeige
Das habe ich hier wohl schon oft genug getan...
01.08.2007 16:05:00
Luc:-?
...(gerade dazu siehe Archiv), deshalb hier nur dieser Tip!
Übrigens habe ich hier auch schon nettere (Import-)Schweizer(innen) kennengelernt! ;-)
Grüezi (nur aus Höflichkeit - bin aus PR - dem Mutterland von Neuchâtel!)
Luc :-?

AW: Das habe ich hier wohl schon oft genug getan..
01.08.2007 17:48:12
Renee
ahh ja,
hab die ersten 50 Archiveinträge (Suche Luc) analysiert.
Ein paar triviale Formeln.
95% überflüssige Kommentare.
Kein brauchbarer Code.
Im Übrigen bin ich nicht importiert, sonder mach hier geistige Entwicklungshilfe... ;-)
Greetz Renee

Na, da muss ich jetzt wohl deine geistigen...
01.08.2007 18:21:00
Luc:-?
...Ergüsse analysieren, Renee... ;-)
Dazu habe ich aber weder Zeit noch Lust! Naja, weiß ja nicht, ob die Schweizer eine derartige (arrogante) "geistige" Entwicklungshilfe nötig haben. Da solltest du mal unsere Schweizer Cracks fragen (z.B. Ramses).
Übrigens findest du mit Altavista im www mitunter mehr von mir aus diesem und anderen Forenarchiven als mit der Google-Herber-Archivsuche. Warum das so ist, wissen vielleicht nicht mal die (Google-)Götter!
Jedenfalls stehst du jetzt auf meiner Q-Liste (was nicht Qualität bedeutet!).
Gruß Luc :-?

Anzeige
AW: Na, da muss ich jetzt wohl deine geistigen...
01.08.2007 21:44:00
chris58/tomi
Hallo !
Erstmals danke das ihr mir geholfen habt.
Aber ich wollte auf keinen Fall so eine "spannende" Diskussion entfachen.
Das ganze ist eine Tabelle für die Vorfinanzierung von Typenscheinen. Da ich mit meinem bescheidenem Wissen versucht habe, eine Möglichkeit zu suchen die Papierform ersetzt.
Also das ganz geht so:
Ich habe mir erlaubt hier ein Diagramm beizupacken. Wenn mir wer ein Programm
schreiben könnte, das einfacher ist, also ich würde dafür schon was zahlen.
Kenn mich ja nicht mit VAB aus und habe alle Codes von hier oder vom Internet.
Jedenfalls danke für Eure Hilfe
https://www.herber.de/bbs/user/44689.xls

Anzeige
Weiter ausserhalb des Forum's
02.08.2007 11:45:00
Renee
Hallo Chris,
Mail mich mal an unter s u l a w e y o (at) h o t m a i l . c o m
Renee

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige