Live-Forum - Die aktuellen Beiträge
Datum
Titel
19.04.2024 12:23:24
19.04.2024 11:45:34
Anzeige
Archiv - Navigation
1792to1796
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
Kopieren und Einfügen von Daten
26.11.2020 13:56:06
Daten
Hallo zusammen,
ich stehe mit meinen bescheidenen VBA Kenntnissen auf dem Schlauch und hoffe das ihr mir evtl helfen könnt. Ich habe eine Tabelle (auch als Datei angehängt, jedoch nur aufs wesentliche reduziert) in welcher ich Tasker sammeln möchte.
https://www.herber.de/bbs/user/141858.xlsm
In Zelle A4 kommt die Tasker nr rein und weiter in der Zelle noch ein paar wesentliche Daten. Wenn man nun die Gruppierung öffnet links, sieht man das storyboard wo letztlich der gesamte Bearbeitungsstand hinterlegt werden soll. Wenn man dann auf den Command Button klickt, so soll nach bestätigen des Fensters zum Löschen, automatisch der Zellinhalt (A5:I5,A8:I17 - das entspricht einem von insgesamt 30 Taskerfeldern) in das Tasker Archive verschoben werden. Das Tasker Archive ist identisch aufgebaut wie die Tasker Arbeitsmappe.
Bislang habe ich das Makro innerhalb des Userforms angesteuert, wodurch ich aber ja keine Möglichkeit habe diesen Button für die gesamte Tabelle bzw. für jedes Taskerfeld zu übernehmen. Mit Schleifen zur Abfrage kenn ich mich nicht aus, daher die Frage ob das überhaupt realisierbar ist was ich mir hier vorstelle. Der bislang verwendete Code sieht folgendermaßen aus:
Private Sub CommandButton1_Click()
Dim rück As Worksheet
Set rück = ActiveSheet
ActiveSheet.Select
Range("a5:i17").Select
Selection.Copy
Sheets("Tasker Archive").Select
Range("a5:i17").Select
Sheets("Tasker Archive").Paste
Sheets("Tasker").Range("a5:i5,a8:i16,a17:d17,f17:i17").ClearContents
Unload Me
End Sub
Ich möchte letztlich erreichen, das bei klicken auf den Cmd Button die Daten aus dem beschriebenen Taskerfeld ins Taskerarchive übertragen werden. Dabei muss das Taskerfeld welches ja dann entleert wird, wieder beschreibbar sein und zusätzlich im Taskerarchive immer eine neue Zeile angesteuert werden zum einfügen, um ein Überschreiben zu vermeiden.
Ich hoffe innigst, das mir jmd helfen kann!! Vielen Dank im Voraus!!
PS: Bei der Excelversion in welcher das Originalprogramm geschrieben wird ist Excel 2003.
Lg Florian

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kopieren und Einfügen von Daten
26.11.2020 15:40:44
Daten
den code in ein modul und das makro den buttons zuweisen
testen mußt du selbst.
Sub Schaltfläche1_Klicken()
Dim rueck As Worksheet
Dim rng As Range
If vbYes = MsgBox("Wollen Sie die Daten archivieren?", vbDefaultButton1 + vbYesNo +  _
vbInformation, "Achtung!") Then
Set rueck = ActiveSheet
With rueck.Shapes(Application.Caller)
Set rng = Range(.TopLeftCell.Offset(-1).Row & ":" & .TopLeftCell.Offset(11).Row).Rows
End With
With Sheets("Tasker Archive")
rng.Copy Destination:=.Range("A" & .Cells.SpecialCells(xlLastCell).Row + 1)
End With
rng.Resize(9).Offset(3).ClearContents
End If
Set rng = Nothing
Set rueck = Nothing
End Sub

Anzeige
AW: Kopieren und Einfügen von Daten
02.12.2020 08:33:28
Daten
Guten Morgen Ralf, deine Version funktioniert leider nicht. Er markiert mir nach dem debuggen die Zelle
With rueck.shapes .....
Leider weiß ich nicht weiter. Vllt kannst du mir noch weiter helfen?
Lg Florian
AW: Kopieren und Einfügen von Daten
02.12.2020 09:00:02
Daten
das passiert wenn man den Code nicht durch klicken auf einen Button laufen läßt. Zumindest bei mir.
AW: Kopieren und Einfügen von Daten
03.12.2020 16:09:41
Daten
Ah Ok, was genau kann und muss ich jetzt machen um diesen Fehler zu beheben?
Lg Florian
AW: Kopieren und Einfügen von Daten
03.12.2020 18:27:42
Daten
wenn es daher kommt, wie ich es denke, dann reicht es den code über einen schaltflächen klick zu starten. Wenn der Code in der Entwicklungsumgebung gestartet wird, gibt es keinen Application caller.
Anzeige
AW: Kopieren und Einfügen von Daten
04.12.2020 10:22:10
Daten
Guten Morgen Ralf,
Habe es jetzt zum laufen bekommen. Du hattest den richtigen Gedanken! Allerdings ist die gewünschte Funktion nicht gegeben. Nur ein Teil des Zellbereichs (a8:i16) der aus der Tabelle Tasker archiviert werden soll wird ausgeschnitten. Der Zellbereich (a5:i5 und a17:i17) muss ebenfalls mit archiviert werden. Und leider kommen die Daten gar nicht erst im Tabellenblatt Tasker Archive an, wodurch mir die Funktion bislang leider noch nichts bringt.
Hoffe du kannst mir weiterhelfen.
Lg Florian
AW: Kopieren und Einfügen von Daten
04.12.2020 12:13:13
Daten
das ist der code, der bei mir gut funktioniert.
ich habe festgestellt, das die Einfügezeile im Archiv nicht 100%ig geklappt hat.
Vielleicht sind die Archivierungen bei dir sehr weit nach unten gerutscht. Aber egal. Neuer Versuch.
Sub Schaltfläche1_Klicken()
Dim rueck As Worksheet
Dim rng As Range
If vbYes = MsgBox("Wollen Sie die Daten archivieren?", vbDefaultButton1 + vbYesNo +  _
vbInformation, "Achtung!") Then
Set rueck = ActiveSheet
With rueck.Shapes(Application.Caller)
Set rng = Range(.TopLeftCell.Offset(-1).Row & ":" & .TopLeftCell.Offset(11).Row).Rows
End With
With Sheets("Tasker Archive")
rng.Copy Destination:=.Range("A" & .Cells.SpecialCells(xlLastCell).Row + 1)
End With
Application.CutCopyMode = False
rng.Resize(1).ClearContents
rng.Resize(10).Offset(3).ClearContents
End If
Set rng = Nothing
Set rueck = Nothing
End Sub

Anzeige
AW: Kopieren und Einfügen von Daten
07.12.2020 08:20:37
Daten
Guten Morgen Ralf,
Du hast wiedermal recht die Daten der Archivierung sind sehr sehr weit nach unten gerutscht. Habe deinen Code nun ergänzt, aber er fügt die Zellen immer noch bei Zelle 996 ein. Dabei sollte er die Zelle 5 wählen und dort mit dem einfügen beginnen. Wichtog ist auch, daß automatisch nach freien Zellen gesucht wird, falls mal ein Eintrag aus dem Archiv entfernt wird.
AW: Kopieren und Einfügen von Daten
26.11.2020 15:46:01
Daten
Hallo Florian
Schau doch mal, ob dieser Code das gewünschte Ergebnis bringt
Private Sub CommandButton1_Click()
Dim i As Integer
i = 5
Do
If Not Worksheets("Tasker Archive").Cells(i, 1).Value = "" Then i = i + 13
Loop Until Worksheets("Tasker Archive").Cells(i, 1).Value = ""
Worksheets("Tasker").Range("A5:I17").Copy
Worksheets("Tasker Archive").Cells(i, 1).PasteSpecial
Sheets("Tasker").Range("a5:i5,a8:i16,a17:d17,f17:i17").ClearContents
End Sub
Gruß
Edmund
Anzeige
AW: Kopieren und Einfügen von Daten
02.12.2020 08:54:07
Daten
Guten Morgen Edmund,
vielen Dank für deine Variante, diese funktioniert grundsätzlich schonmal einwandfrei. Allerdings möchte ich für jedes Taskerfeld einen Commanbutton einfügen, um jeden Tasker je nach Belieben individuell zu archivieren. Wie kann ich deinen Code nun auch auf andere Buttons anwenden?
Lg Florian

315 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige