Supportnet / Forum / Tabellenkalkulation
Zellen auslesen
Frage
Habe 2 tabellen tabelle 1(Angefangene Arbeiten )tabelle 2 (Neue Arbeiten) Die zellen sind von a4 - u4
so aufgebaut a1 =info A2=Schicht1 A3=Schicht2 a4=(Geplant oder Angefangen)usw .. nun meine frage ist es möglich das wenn ich in tabelle 2 von Geplant auf Angefangen auswähle (Gültigkeitsauswahl) die ganze Zeile von tabelle 2 in die nächstfreie tabelle 1 ausgelesen wird und in der Tabelle 2 dann gelöscht wird .Ich bringe so was nicht fertig ich hoffe ihr könnt mir helfen bedanke mich schon mal im vorraus.
Rolf
Antwort 1 von coros
Moin ,
kopiere nachfolgenden VBA Code in das VBA Projekt des Blattes, in der sich die Gültigkeitsregel befindet.
Option Explicit
Ich hoffe, Du kommst klar. Bei Fragen oder Problemen melde Dich.
Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 2 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
kopiere nachfolgenden VBA Code in das VBA Projekt des Blattes, in der sich die Gültigkeitsregel befindet.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
If Target.Cells.Count > 1 Then Exit Sub
If Target.Address = "$A$4" And Target.Cells = "Angefangen" Then
Rows("4:4").Copy
Sheets("Tabelle1").Cells(Sheets("Tabelle1"). _
Range("A65536").End(xlUp).Offset(1, 0).Row, 1).PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End If
End Sub
Dieser Code prüft ob es sich bei der aktiven Zelle um Zelle A4 handelt und ob dort der Begriff "Angefangen" ausgewählt wurde. Ist das der Fall, kopiert er Zeile 4 und fügt die Daten in Blatt "Tabelle1" in die erste freie Zeile in Spalte A wieder ein.Ich hoffe, Du kommst klar. Bei Fragen oder Problemen melde Dich.
Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 2 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 2 von Bischoff2000
Kommt schon hin ist aber noch nicht so richtig wie ich es brauche a4 langt mir nicht es sind die zeilen
a4-a99 und wenn es dann in tabelle 1 eingetragen ist soll es in tabbelle 2 dann gelöscht werden
mfg Rolf
a4-a99 und wenn es dann in tabelle 1 eingetragen ist soll es in tabbelle 2 dann gelöscht werden
mfg Rolf
Antwort 3 von Bischoff2000
und bei der Tabelle 2 bleibt nach den kopieren immer alles noch ausgewählt kann mann das auch ändern so das es gleich danach abgewählt ist
mfg Rolf
mfg Rolf
Antwort 4 von coros
Hi Rolf,
hättest Du in Deiner Frage etwas darüber geschrieben, dann hätte ich Dir auch den entsprechenden VBA Code dazu erstellt. Leider kann ich weder etwas von Zeile 4 bis 99 lesen, noch dass die Daten gelöscht werden sollen in Deiner ersten Frage lesen. Hellsehen ist darüber hinaus nicht meine Stärke. Hier also ein VBA Code, der das macht, was Du möchtest. Tausche ihn gegen den ersten aus.
Ich hoffe, Du kommst klar. Sollte wieder etwas fehlen, dann mach Dir zunächst einmal Gedanken, was Du als Endresultat erhalten möchtest. Wenn Du Dir dass dann alles Überlegt hast, dann schreib das hier so genau wie möglich hin.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
hättest Du in Deiner Frage etwas darüber geschrieben, dann hätte ich Dir auch den entsprechenden VBA Code dazu erstellt. Leider kann ich weder etwas von Zeile 4 bis 99 lesen, noch dass die Daten gelöscht werden sollen in Deiner ersten Frage lesen. Hellsehen ist darüber hinaus nicht meine Stärke. Hier also ein VBA Code, der das macht, was Du möchtest. Tausche ihn gegen den ersten aus.
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
If Target.Cells.Count > 1 Then Exit Sub
If Target.Address = "$A$4" And Target.Cells = "Angefangen" Then
Rows("4:99").Copy _
Sheets("Tabelle1").Cells(Sheets("Tabelle1"). _
Range("A65536").End(xlUp).Offset(1, 0).Row, 1)
Rows("4:99").Delete
End If
End Sub
Der Code kopiert die Zeilen 4 bis 99 in das Blatt “Tabelle1” und löscht danach die Zeile 4 bis 99. Allerdings wird bei dem Code alles kopiert, so auch das Format usw. Wenn Du das nicht möchtest, dann musst Du den nachfolgenden Code nehmen. Er macht genau das gleiche, nur werden hier nur die Werte kopiert. Dafür muss, um die Auswahl in dem Blatt „Tabelle1“ aufzuheben, das Blatt kurz automatisch aktiviert werden, damit eine Zelle markiert werden kann und dann wird wieder automatisch auf das andere Blatt zurückgewechselt werden. Daher die Anweisungen mit Activate und Select, die man aber eigentlich aus Ressourcengründen vermeiden sollte.Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
If Target.Cells.Count > 1 Then Exit Sub
If Target.Address = "$A$4" And Target.Cells = "Angefangen" Then
Rows("4:99").Copy
Sheets("Tabelle1").Cells(Sheets("Tabelle1"). _
Range("A65536").End(xlUp).Offset(1, 0).Row, 1).PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Sheets("Tabelle1").Activate
Sheets("Tabelle1").Range("A1").Select
Sheets("Tabelle2").Activate
Rows("4:99").Delete
End If
End Sub
Ich hoffe, Du kommst klar. Sollte wieder etwas fehlen, dann mach Dir zunächst einmal Gedanken, was Du als Endresultat erhalten möchtest. Wenn Du Dir dass dann alles Überlegt hast, dann schreib das hier so genau wie möglich hin.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 5 von Bischoff2000
Hast ja recht ich wollte ja auch am anfang nur mal erst schauen ob so was geht.So gut kenne ich mich in excel ja auch nicht aus.
dein vba passt fast schon,aber es soll mir nicht die ganze seite kopieren und löschen sondern zb.von a4 -a99 steht in jeder zeil ein name und wenn ich den dann ändere auf angefangen soll die zeile von
a4 -J4 kopiert werden von tabelle 2 in tabelle 1 wo als nächstes platzt ist und geschrieben werden kann und gleichzeitig in der tabelle 2 gelöscht werden.das gleiche dann von a4-a99 wenn ich da dann zb bei a55 vom dem namen auf angefangen wechsle sollte es mir dann auch wieder nur die zeile kopiert werden von tabelle 2 in die tabelle 1 wo als nächstes platz ist und dann in tabelle 2 gelöscht werden
nochmals vielen dank für deine hilfe
dein vba passt fast schon,aber es soll mir nicht die ganze seite kopieren und löschen sondern zb.von a4 -a99 steht in jeder zeil ein name und wenn ich den dann ändere auf angefangen soll die zeile von
a4 -J4 kopiert werden von tabelle 2 in tabelle 1 wo als nächstes platzt ist und geschrieben werden kann und gleichzeitig in der tabelle 2 gelöscht werden.das gleiche dann von a4-a99 wenn ich da dann zb bei a55 vom dem namen auf angefangen wechsle sollte es mir dann auch wieder nur die zeile kopiert werden von tabelle 2 in die tabelle 1 wo als nächstes platz ist und dann in tabelle 2 gelöscht werden
nochmals vielen dank für deine hilfe
Antwort 6 von Bischoff2000
von a4 bis a99 sind namen eingetragen
von b4-j4 sind immer folgende eintragungen
a4 name b4 project c4 rmnummer d4 artikel e4 datum usw
a5 name b5 project c5 rmnummer d5 artikel e5 datum
usw
so ist das dann von a4 -a99
nun soll aber immer nur die zeile kopiert werden wo ich den namen a4 oder a5 oder a6 usw auf angefangen ändere nun soll die Zeile kopiert werden von der
tabelle 2 in die tabelle 1 wo als nächstes platz ist und nichts überschrieben werden kann und dann gleichzeitig in tabelle 2 gelöscht werden
nochmals danke für alles
von b4-j4 sind immer folgende eintragungen
a4 name b4 project c4 rmnummer d4 artikel e4 datum usw
a5 name b5 project c5 rmnummer d5 artikel e5 datum
usw
so ist das dann von a4 -a99
nun soll aber immer nur die zeile kopiert werden wo ich den namen a4 oder a5 oder a6 usw auf angefangen ändere nun soll die Zeile kopiert werden von der
tabelle 2 in die tabelle 1 wo als nächstes platz ist und nichts überschrieben werden kann und dann gleichzeitig in tabelle 2 gelöscht werden
nochmals danke für alles
Antwort 7 von coros
Hi Rolf,
na ist Dir doch noch was eingefallen? Das was Du jetzt beschreibst ist ja wieder anders, als die anderen Fragen. Sorry, aber man benötigt in Excel nicht viel Ahnung um eine Frage präzise und vollständig zu stellen. Man muss sich nur mal vorher überlegen, was möchte ich eigentlich erreichen wenn und dass muss man dann eigentlich nur aufschreiben.
Hier nun ein neuer VBA Code, der auf Deine letzten Angaben erstellt wurde. Tausche ihn gegen den anderen aus.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
na ist Dir doch noch was eingefallen? Das was Du jetzt beschreibst ist ja wieder anders, als die anderen Fragen. Sorry, aber man benötigt in Excel nicht viel Ahnung um eine Frage präzise und vollständig zu stellen. Man muss sich nur mal vorher überlegen, was möchte ich eigentlich erreichen wenn und dass muss man dann eigentlich nur aufschreiben.
Hier nun ein neuer VBA Code, der auf Deine letzten Angaben erstellt wurde. Tausche ihn gegen den anderen aus.
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
If Target.Cells.Count > 1 Then Exit Sub
If Intersect(Target, Range("A4:A99")) Is Nothing Then
Else
If Target.Cells = "Angefangen" Then
Rows(Target.Row).Copy _
Sheets("Tabelle1").Cells(Sheets("Tabelle1"). _
Range("A65536").End(xlUp).Offset(1, 0).Row, 1)
Rows(Target.Row).Delete
End If
End If
End Sub
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 8 von Bischoff2000
Jo super genau das wo ich wollte nur noch eins
es macht mir alles aber der zeile 100 rein in der tabelle 1,weil ich warscheinlich die anderen mit einer gültigkeitsauswahlt belegt habe kann mann da auch noch was machen oder muss ich meine tabelle ändern.
und nochmals danke für alles super von dir
mfg Rolf
es macht mir alles aber der zeile 100 rein in der tabelle 1,weil ich warscheinlich die anderen mit einer gültigkeitsauswahlt belegt habe kann mann da auch noch was machen oder muss ich meine tabelle ändern.
und nochmals danke für alles super von dir
mfg Rolf
Antwort 9 von Bischoff2000
ich kann dir mal auch alles senden brauche es halt für die arbeit täte mir da leichter
mfg Rolf
mfg Rolf
Antwort 10 von coros
Moin Rolf,
schick mir mal Deine Datei, denn was Du in Deiner Antwort 8 geschrieben hast, kann ich nicht nachvollziehen. Also schicke die Datei an meine E-Mail:coros@excelbeispiele.de. Binde in der Betreffzeile irgendwie das Wort "Supportnet" und den Namen, unter dem Du hier gepostet hast (Bischoff2000) mit ein, da ich alle Mails deren Absender ich nicht kenne, ungelesen lösche.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
schick mir mal Deine Datei, denn was Du in Deiner Antwort 8 geschrieben hast, kann ich nicht nachvollziehen. Also schicke die Datei an meine E-Mail:coros@excelbeispiele.de. Binde in der Betreffzeile irgendwie das Wort "Supportnet" und den Namen, unter dem Du hier gepostet hast (Bischoff2000) mit ein, da ich alle Mails deren Absender ich nicht kenne, ungelesen lösche.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

