online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon Ulle-gt5 vom 25.01.2021, 12:11 Options

Daten auf anderes Blatt verschieben

Hallo wer kann mir helfen,

mein problem ist eine Datensammlung zu erzeugen, um ein Auflistung von nur bestimmten Daten zu erhalten!
Also:
Ich fülle ein Datenblatt aus (Artikelnr.,Name, Preis, usw.)
und möchte nur bestimmte Daten (Zellen) auf ein anderes Blatt in eine Tabelle einfügen.
Nun fülle ich das gleiche Datenblatt erneut aus(Artikelnr.,Name, Preis, usw.) und möchte wieder die gleichen Zellen in die Tabelle (in die nächste freie Zeile) einfügen.
usw usw
Viel Spass bei meiner Lösung und ich bedanke mich schon mal.
Gruß
Ulle


Antwort schreiben

Antwort 1 von fedjo vom 25.01.2021, 13:02 Options

Hallo Ulle,
mit VBA dürfte das kein Problem sein.
Es fehlen für eine Lösung genauere Angaben.
Welche Daten oder Zellen sollen übertragen werden?
Vielleicht kannst du ja eine Musterdatei hochladen.

Gruß
fedjo

Antwort 2 von Ulle-gt5 vom 25.01.2021, 13:35 Options

Hallo Fedjo,

dieses Programm an den ich arbeite kann einen schon Kopfschmerzen bereiten, nur gut das es solche wie dich gibt die einen immer wieder helfen!
Also, wie in der Musterdatei soll es ungefähr aussehen.

http://www.file-upload.net/download-1406274/Mappe1.xls.html

Die Zahlen sollen die Einträgen darstellen die zu kopieren sind.

Gruß
Ulle

Antwort 3 von fedjo vom 25.01.2021, 16:25 Options

Hallo Ulle,
die Zahlen in den Zellen werden nach deinen Angaben übertragen. Die Zahle 6 (Bearbeitung) und die Zahl 7 (Bemerkungen) die ja öfter vorkommen, welche Zelle soll da übertragen werden?



Gruß
fedjo
Mappe1

Antwort 4 von Ulle-gt5 vom 25.01.2021, 17:29 Options

Hallo Fedjo,

in der Datensammlung die roten Felder müssen auch übertagen werden.
Die Bearbeitung und Bemerkungen sollen untereinander stehen!
Sorry erst im Gespräch merkt man, daß du nur weißt was ich schreibe und nicht was ich denke

Es währe auch schön, du würdest das Makro nicht auf Bt10 beziehen sondern auf das aktive Blatt, da kann ich das Makro besser kopieren

http://www.file-upload.net/download-1406920/Mappe1.xls.html

Trotzdem schönen Sonntag
Gruß
Ulle

Antwort 5 von Ulle-gt5 vom 25.01.2021, 18:41 Options

Hallo Fedjo,

in der Datensammlung die roten Felder müssen auch übertagen werden.
Die Bearbeitung und Bemerkungen sollen untereinander stehen!
Sorry erst im Gespräch merkt man, daß du nur weißt was ich schreibe und nicht was ich denke

Es währe auch schön, du würdest das Makro nicht auf Bt10 beziehen sondern auf das aktive Blatt, da kann ich das Makro besser kopieren

http://www.file-upload.net/download-1406920/Mappe1.xls.html

Trotzdem schönen Sonntag
Gruß
Ulle

Antwort 6 von fedjo vom 26.01.2021, 08:52 Options

Hallo Ulli,
das übertragen eines Datensatzes ist bei leeren und unterschiedlich langen Einträgen in den Spalten nicht so einfach, da man fast jede Zelle einzeln ansprechen muß.
Mit verbundenen Zellen gibt es mit VBA immer Probleme.

Die Tabelle Bt10 im Code kann einfach mit Suchen und alle Ersetzen ausgetauscht werden.

Gruß
fedjo

Daten übertragen

Antwort 7 von ulle-gt5 vom 26.01.2021, 10:06 Options

Hallo Fedjo,
es funktioniert einwandfrei, so wie ich es wollte.
Jetzt muß ich mit der Softwarefirma reden, wie sie die Daten einflegen können.Toll ist, das die Softwarefirmen mit den wir zutun haben, keinen haben der sich mit Exel auskennt.
Dafür gibts halt euch!!
Erst mal vielen Dank für deine Hilfe!!

Ach ich habe noch, ich hoffe ein kleines Problem.
Habe ein Kontrollkästchen eingefügt, wenn ich das Blatt schütze arbeitet es nicht
Zelle die sie ändern möchten ist Schreibgeschützt.
Ich habe alles in meiner Macht stehende getan!

Gruß
Ulle

Antwort 8 von fedjo vom 26.01.2021, 10:54 Options

Hallo Ulle,
in welchen Tabellenblatt ist ein Kontrollkästchen und ist schreibgeschützt?
Vielleicht reicht es ja, wenn nur alle Formeln in einem Tabellenblatt geschützt sind.
Code in das Codefenster der zu schützenden Tabelle einfügen.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'FORMEL SCHÜTZEN
Dim Zelle As Range
For Each Zelle In Target.Cells
If Zelle.HasFormula Then
ActiveSheet.Protect
Exit Sub
Else
ActiveSheet.Unprotect
End If
Next Zelle
End Sub


Gruß
fedjo

Antwort 9 von Ulle-gt5 vom 26.01.2021, 16:44 Options

Hallo Fedjo,
ich bin hoffendlich kein schwerer Junge.
Dafür das ich Neuling auf diesen Gebiet bin, will ich vielleicht schon zuviel.
Ich habe es mit Deinen Code probiert, fehlgeschlagen! (bei mir)
Mir fehlt zuviel Grundwissen um das alles zu verstehen.

Ich habe in der Datei mein Problem beschrieben, es ist nicht einfach was zu erklären, was nicht richtig ausdrücken kann.
Aber ich glaube, ich kann es Dir nur am Beispiel erklären und hoffe das es nicht stört, daß die dazugehörigen Daten nicht dabei sind (Datenbank, Kundendatei usw.)
http://www.file-upload.net/download-1409304/Mappe1.xls.html
Gruß
Ulle

Antwort 10 von fedjo vom 26.01.2021, 17:50 Options

Hallo Ulle,
habe den Code in das Tabellenblatt eingefügt.
Zellen mit Formeln sind jetzt geschützt.

Wenn du noch Fragen hast dann melde dich.

Gruß
fedjo

http://www.file-upload.net/download-1409469/Mappe1.xls.html

Antwort 11 von Ulle-gt5 vom 26.01.2021, 18:58 Options

Hallo Fedjo,
so weit so gut.
Wie kann ich jetzt verhindern das andere Nutzer der Tabelle, die ungeschützten Bereiche (Text,Überschriften usw.)verändern.
Vieleicht bin ich auch nur übervorsichtig?
Die schreibgeschützte Orginaltabelle kann ja niemand ändern, trotzdem würde mich das interesieren wie das geht.
Gruß
Ulle

Antwort 12 von fedjo vom 27.01.2021, 17:28 Options

Hallo Ulle,
Code "Formeln schützen" löschen.
Blattschutz aufheben.
Alle Zellen (D10) die nicht geschützt werden sollen markieren, Zellen formatieren, Schutz gesperrt Häkchen entfernen, OK.
Blatt schützen.

Gruß
fedjo

http://www.file-upload.net/download-1412045/Mappe1.xls.html

Antwort 13 von Ulle-gt5 vom 27.01.2021, 20:35 Options

Hallo Fedjo,
manchmal ist die Lösung so leicht.
Ich hatte schon das Kontrollkästchen aufgegeben, werde es aber wieder einbauen.
Es gefällt mir einfach.
Mit deinen Makro habe ich jetzt einen Tag gearbeitet, es hat eine weile gedauert bis ich die Arbeitsweise erkannt habe.
Ich muß es noch etwas umbauen, bis ich die Datentabelle nutzen kann. Das bekomme ich hoffendlich alleine hin, Daß Ergebnis werde ich dir zukommen lassen.
Denn ich glaube es interesiert dich was mit Deiner hilfe so entsteht.
Noch mal schönen Dank für Deine Hilfe!!
Gruß
Ulle

Antwort 14 von Ulle-gt5 vom 23.02.2021, 17:41 Options

Hallo Fedjo oder alle Anderen die mir helfen können.
Das unten eingegebene Makro funktioniert einwandfrei!!
Ich möchte nicht "Bt1" sondern vom "aktiven Blatt" kopieren und
die Datensammlung liegt in einer anderen Mappe(Stammdaten).
Mein Wissen reicht dafür noch nicht aus, aber eine Lösung gibt es ja bestimmt für mein Problem.
Danke im vorraus.
Gruß Ulle



Sub SpeichernGIVDaten()

Application.ScreenUpdating = False

Worksheets("Bt1").Range("B57:J58").Copy 'Angebot
Sheets("DATENSAMMLUNG").Select
Range("c65536").End(xlUp).Select
Cells(ActiveCell.Row + 3, ActiveCell.Column + 3).PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False

Range("C65536").End(xlUp).Select
Cells(ActiveCell.Row + 3, ActiveCell.Column - 2) = Worksheets("Bt1").Range("C6").Value

Range("C65536").End(xlUp).Select
Cells(ActiveCell.Row + 3, ActiveCell.Column - 1) = Worksheets("Bt1").Range("C5").Value

Range("c65536").End(xlUp).Select
Cells(ActiveCell.Row + 3, ActiveCell.Column + 12) = Worksheets("Bt1").Range("E60").Value

Range("C65536").End(xlUp).Select
Cells(ActiveCell.Row + 3, ActiveCell.Column + 2) = Worksheets("Bt1").Range("E10").Value

Range("C65536").End(xlUp).Select
Cells(ActiveCell.Row + 3, ActiveCell.Column + 1) = Worksheets("Bt1").Range("C10").Value

Range("c65536").End(xlUp).Select
Cells(ActiveCell.Row + 3, ActiveCell.Column + 0) = Worksheets("Bt1").Range("G5").Value

Range("c65536").End(xlUp).Select
Cells(ActiveCell.Row + 1, ActiveCell.Column + 0) = Worksheets("Bt1").Range("C45").Value

Range("c65536").End(xlUp).Select
Cells(ActiveCell.Row + 1, ActiveCell.Column + 0) = Worksheets("Bt1").Range("C42").Value

Range("c65536").End(xlUp).Select
Cells(ActiveCell.Row + 1, ActiveCell.Column + 0) = Worksheets("Bt1").Range("C43").Value

Range("C65536").End(xlUp).Select
Cells(ActiveCell.Row + 1, ActiveCell.Column + 0) = Worksheets("Bt1").Range("C44").Value

Worksheets("Bt1").Range("B30:B40").Copy
Range("C65536").End(xlUp).Select
Cells(ActiveCell.Row + 1, ActiveCell.Column + 0).PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False

Range("C65536").End(xlUp).Select
Sheets("Bt1").Select
Application.CutCopyMode = False

End Sub

Antwort 15 von fedjo vom 24.02.2021, 17:09 Options

Hallo Ulle,
du kannst die Arbeitsmappe mit dem Code gleich am Anfag öffnen lassen (Pfad ändern)
Workbooks.Open FileName:="C:\Stammdaten.xls" 'Pfad ändern

Arbeitsmappe schliesen am Ende des Codes
Windows("Stammdaten.xls").Close SaveChanges:=True (False)


Option Explicit
Sub SpeichernGIVDaten()
Application.ScreenUpdating = False
ActiveSheet.Range("B57:J58").Copy 'Angebot

Windows("Stammdaten.xls").Activate
Sheets("Datensammlung").Select
Range("c65536").End(xlUp).Select
Cells(ActiveCell.Row + 3, ActiveCell.Column + 3).PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False

Range("C65536").End(xlUp).Select
Cells(ActiveCell.Row + 3, ActiveCell.Column - 2) = ActiveSheet.Range("C6").Value

Range("C65536").End(xlUp).Select
Cells(ActiveCell.Row + 3, ActiveCell.Column - 1) = ActiveSheet.Range("C5").Value

Range("c65536").End(xlUp).Select
Cells(ActiveCell.Row + 3, ActiveCell.Column + 12) = ActiveSheet.Range("E60").Value

Range("C65536").End(xlUp).Select
Cells(ActiveCell.Row + 3, ActiveCell.Column + 2) = ActiveSheet.Range("E10").Value

Range("C65536").End(xlUp).Select
Cells(ActiveCell.Row + 3, ActiveCell.Column + 1) = ActiveSheet.Range("C10").Value

Range("c65536").End(xlUp).Select
Cells(ActiveCell.Row + 3, ActiveCell.Column + 0) = ActiveSheet.Range("G5").Value

Range("c65536").End(xlUp).Select
Cells(ActiveCell.Row + 1, ActiveCell.Column + 0) = ActiveSheet.Range("C45").Value

Range("c65536").End(xlUp).Select
Cells(ActiveCell.Row + 1, ActiveCell.Column + 0) = ActiveSheet.Range("C42").Value

Range("c65536").End(xlUp).Select
Cells(ActiveCell.Row + 1, ActiveCell.Column + 0) = ActiveSheet.Range("C43").Value

Range("C65536").End(xlUp).Select
Cells(ActiveCell.Row + 1, ActiveCell.Column + 0) = ActiveSheet.Range("C44").Value

ActiveSheet.Range("B30:B40").Copy
Range("C65536").End(xlUp).Select
Cells(ActiveCell.Row + 1, ActiveCell.Column + 0).PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("C65536").End(xlUp).Select
Application.CutCopyMode = False
Windows("Deine Mappe.xls").Activate 'Arbeitsmappe ändern
Sheets("Tabelle1").Select
End Sub

Antwort 16 von Ulle-gt5 vom 24.02.2021, 18:02 Options

Hallo Fedjo,
der erst Schritt funktioniert.


Option Explicit
Sub SpeichernGIVDaten()
Application.ScreenUpdating = False
ActiveSheet.Range("B57:J58").Copy 'Angebot

Windows("Stammdaten.xls").Activate
Sheets("Datensammlung").Select
Range("c65536").End(xlUp).Select
Cells(ActiveCell.Row + 3, ActiveCell.Column + 3).PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False

Range("C65536").End(xlUp).Select
Cells(ActiveCell.Row + 3, ActiveCell.Column - 2) = ActiveSheet.Range("C6").Value

Im zweiten Schritt ActiveSheet meine Datensammlung und nicht mein Kalkulationsblatt(Einzelteil)!!!!!! Also findet das Makro die zu kopierenden Zellen nicht mehr.
Die Stammdaten sind immer geöffnet, ich muss sie nicht mit dem Makro öffnen.
Gruß
Ulle

Antwort 17 von fedjo vom 24.02.2021, 19:20 Options

Hallo Ulle,
der Code sollte funktionieren, wenn du deine geöffnete Arbeitsmappen einträgst.

Gruß
fedjo

Windows("Dein Name Arbeitsmappe.xls").Activate

Antwort 18 von Ulle-gt5 vom 24.02.2021, 19:43 Options

Hallo Fedjo,
das Makro läuft ohne Fehlermeldung durch.
Ich habe alles eingetragen!!
Das Makro trägt nur die ersten Daten(ActiveSheet.Range("B57:J58").Copy 'Angebot) auf der Datensammlung ein,mehr nicht.
Fülle ich die Zellen C5;C6;E60 in der "Datensammlung" aus werden diese Daten in der Datensmmlung eingetragen, wie das Makro es sagt. Was es aber nicht sol!
Die Daten vom "Aktiven Blatt" nicht?????
Gruss
Ulle

Antwort 19 von fedjo vom 25.02.2021, 19:30 Options

Hallo Ulle,
stimmt das Makro kann so nicht mehr funktionieren.
Es braucht einen Bezug (Namen) zur Arbeismappe und der Tablle.

Gruß
fedjo

Antwort 20 von Ulle-gt5 vom 25.02.2021, 19:59 Options

Hallo Fedjo,
dieses Problem habe ich gelößt.
Ich habe mit dem Makro die Daten auf dem Orginaldatenblatt
zusammengefast und als Block in die Datensammlung geschoben.
Das Makro läuft viel schneller!!
Nur eins geht nicht, mit Makro Daten aus gesperrten Zellen kopieren. Da bleibt das Makro stehen.
Gruß
Ulle

Ähnliche Themen

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 11:26:25 2026