Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1156to1160
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

VBA: Einfügen kopierter Zellen mit Zellauswahl

VBA: Einfügen kopierter Zellen mit Zellauswahl
Sunny
Hallo zusammen,
vielleicht kann mir jemand von euch weiterhelfen, denn meine bisherige Suche war leider nicht erfolgreich.
Auf Basis eines aufgezeichneten Makros versuche ich aktuell meine Funktion zu verallgemeinern, _ zur Verdeutlichung hier mal das Makro mit Anmerkungen meinerseits, ob ich auch die Funktionen richtig verstehe:

Sub Test1()
' Test1 Makro
Rows("4:8").Select   'Auswahl der zu kopierenden Zellen
Selection.Copy         'Kopieren der ausgewählten Zellen
Range("A29").Select 'Auswahl der Zelle, wo die kopierten Zellen eingefügt werden
Selection.Insert Shift:=xlDown ' Einfügen der Zellen
End Sub

Die Auswahl der zu kopierenden Zellen möchte ich so lassen, allerdings möchte ich die Zelle, in die die kopierten Zellen eingefügt werden, durch den Benutzer auswählen lassen.
Dazu hab ich schon folgende Lösung gefunden:

Sub Test2()
dim zelleE as Range
Set zelleE = Application.InputBox(Prompt:="Wo einfügen?", Title:="Zellenauswahl", Type:=8)
End Sub

Aber wie bekomme ich meine kopierten Zellen in zelleE bzw. wie werden meine kopierten Zellen an der durch den Benutzer ausgewählten Stelle eingefügt?
Vielen Dank schonmal für eure Hilfe!
Sunny
AW: VBA: Einfügen kopierter Zellen mit Zellauswahl
11.05.2010 15:30:11
Rudi
Hallo,
Sub Test2()
Dim zelleE As Range
Set zelleE = Application.InputBox(Prompt:="Wo einfügen?", Title:="Zellenauswahl", Type:=8)
If Not zelleE Is Nothing Then zelleE.Insert
End Sub

Gruß
Rudi
AW: VBA: Einfügen kopierter Zellen mit Zellauswahl
12.05.2010 10:33:34
Sunny
Hallo zusammen,
erstmal vielen Dank Rudi, ein bisschen konntest du mir weiterhelfen, aber leider macht die Funktion noch nicht das, was ich von ihr erwarte, mein aktueller Code sieht so aus:
Sub Test1()
' Makro Test1
Dim zelleE, zeile1 As Range
Rows("4:7").Select  'Auswahl
Selection.Copy      'Kopieren
Set zeile1 = Selection
Set zelleE = Application.InputBox(Prompt:="Wo einfügen?", Title:="Zellenauswahl", Type:=8) ' _
Zelle auswaehlen
If Not zelleE Is Nothing Then zeile1.Insert Shift:=xlDown  'Einfuegen der Auswahl
End Sub
Anbei auch zwei Screenshots vor und nachdem das Makro ausgeführt wurde:
Userbild
Userbild
Eigentlich sollten die Zeilen A1 und die drei folgenden kopiert werden und an einer ausgewählten Stelle eingefügt werden, stattdessen werden in Zeile 4 vier Zeilen eingefügt mit der Formatierung der drüberliegenden Zeile 3.
Hat jemand von euch eine Idee? Vielen Dank schonmal, viele Grüße
Sunny
Anzeige
AW: VBA: Einfügen kopierter Zellen mit Zellauswahl
12.05.2010 15:17:58
Bertram
Hi Sunny,
ich würde das so machen (wenn ich das wollte:-))
Sub Test1()
Dim zelleE
zelleE = Application.InputBox(Prompt:="Wo einfügen?", Title:="Zellenauswahl", Type:=1)
Rows("4:7").Select
Selection.Copy
Rows(zelleE).Insert
End Sub
Du bist natürlich beschränkt auf Zeile 4 bis 7 zum Kopieren.
Da du ganze Zeilen kopierst und einfügst brauchst du nicht zwingend einen Range eingeben, sondern nur eine Zeilennummer.
Es fehlt allerdings eine Prüfung auf Plausibilität der Zahleneingabe (negative Zeilen gibbet nich) oder ob die Anzahl Zeilen noch eingefügt werden kann.
Gruß
Bertram
Anzeige
AW: VBA: Einfügen kopierter Zellen mit Zellauswahl
12.05.2010 16:05:50
Sunny
Hallo Bertram,
danke für deine Hilfe, leider funktioniert es bei mir nicht, da kommen immer Laufzeitfehler,
so wie dein Code dasteht, bekomme ich den Laufzeitfehler 1004 - "Anwendungs- oder objektdefinierter Fehler", was auch immer das heißen mag.
Hast du eine bessere Idee, wie man so was realisieren könnte?
Ich würde gerne automatisch einen weiteren Block mit der Linienangabe (siehe Screenshot: z.B. A1 mit den Produkten A,B und C) nach dem letzten exisitierenden Linienblock einfügen. Sinn des Ganzen ist es mehrere Produktionslinien mit den Produkten, die auf ihnen laufen darzustellen. Wenn eine neue Linie hinzukommt, soll das über das Makro passieren, danach soll der User noch aufgefordert werden, die passenden Eingaben zu machen.
Danke nochmal für die Hilfe!
Schöne Grüße
Sunny
Anzeige
AW: VBA: Einfügen kopierter Zellen mit Zellauswahl
17.05.2010 14:41:11
Sunny
Hallo Bertram,
danke für deine Anregung, eigentlich hatte ich schonmal geantwortet, aber irgendwie scheint meine Antwort irgendwie verloren gegangen zu sein.
Leider entsteht mit deiner Anweisung ein Laufzeitfehler "1004, Anwendungs- und objektdefinierter Fehler".
Hat jemand noch eine Idee, wie ich das hinbekommen kann, oder wie man meine Vorstellung besser lösen kann?
Nochmal zur Erklärung: Dargestellt werden verschiedene Produktionslinien mit bestimmten Parametern, die zur Linie gehören. Nun soll über ein Makro die Möglichkeit bestehen eine weitere Produktionslinie einzufügen, an einer vom User gewählten Position. Zum Beispiel wäre denkbar, dass nach Linie A1 eine neue Linie eingefügt wird, sprich zwischen Linie A1 und A2.
Danke nochmals für die Unterstützung!
Sonnige Grüße
Sunny
Anzeige
AW: VBA: Einfügen kopierter Zellen mit Zellauswahl
17.05.2010 17:07:38
Sunny
Hallo zusammen,
hab jetzt doch eine gute Lösung für mich gefunden. Da ich aus einem definierten, gleichbleibenden Bereich meine Informationen nehme:
Sub Test1 ()
DIM zelleE
Range("4:8").Copy
Range(zelleE.Address).Insert shift:=xlDown
End Sub
Und jetzt macht's was ich wollte! Danke nochmal für die Unterstützung.
Viele Grüße
Sunny

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige