Microsoft Excel

Herbers Excel/VBA-Archiv

Kopieren an eine bestimmte Stelle

Betrifft: Kopieren an eine bestimmte Stelle von: Buddy
Geschrieben am: 12.09.2014 08:37:57

Hallo zusammen,

ich bin neu hier und hoffe, dass mir jemand bei meinem Problem weiterhelfen kann.

Ich habe über Excel eine Auflistung verschiedener Daten erstellt. Der Anwender kann sich aus _
dieser Auflistung einzelne Daten herauspicken und per Doppelklick in ein anderes Tabellenblatt _
auflisten lassen. Hierzu habe ich folgenden VBA-Code in diesem Forum entdeckt:









Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 'Inhalt der Zellen aus dem Bereich b:f unter Doppelklick übertragen nach
 'Tabelle2 erste freie zeile
 
  If Target.Column = 2 And Target.Row > 11 And Target.Row < 1000 Then
  If Cells(7, 2) = "" Then
fehlerhafte_Eingabe.Show
 
 Else
  With Sheets("Tabelle2")
   .Cells(.Rows.Count, 2).End(xlUp).Offset(1, 0).Resize(1, 5).Value = _
     Range("B" & Target.Row & ":F" & Target.Row).Value
     'Rows Count, 2 = 2.Zelle in der Reihe nächsten freien Zeile,
     'Offset(1,0) = 1.leere zeile,ohne Verschiebung nach rechts
     'Resize (1,5)= Anzahl zu kopierender Zellen untereinander(1)und nebeneinander (5)
 End With
 End If
 End If
 'Kopiermodus beenden
 Application.CutCopyMode = False
 'Doppelklick abbrechen
 Cancel = True
 End Sub

Das funktioniert auch einwandfrei!
An dieser Stelle herzlichen Dank an denjenigen, der diesen Code der Öffentlichkeit zur Verfügung gestellt hat.

Jetzt zu meinem Problem:
Dieses Makro setzt alle per Doppelklick ausgesuchten Daten untereinander. Wenn man also in der zusammengestellten Datenliste eine Zeile vergessen hat, kann man sie nur an die letzte Stelle setzen.
Ich hätte aber gerne, dass man z.B. per MSG-Box, dem System mitteilt, dass man z.B. in Zeile 12 1-5 Zeilen vergessen hat. Das Makro soll jetzt auf die neu zusammengestellt Liste (hier: Tabelle 2) gehen, die entsprechende Anzahl Zeilen einfügen und dann wieder per Doppelklick die entsprechenden Daten genau in diese erstellt Lücke kopieren.

Hat jemand eine Idee?
Meine VBA-Kenntnisse sind leider recht überschaubar. Wäre daher recht froh über professionelle Hilfe.

Viele Grüße
Buddy

  

Betrifft: AW: Kopieren an eine bestimmte Stelle von: Hajo_Zi
Geschrieben am: 13.09.2014 10:47:20

woher hat das System die Information das Zeile 12 1-5 Zeilen vergessen wurde?
Recht es nicht alles zu löschen und neu zu übertragen?

GrußformelHomepage


  

Betrifft: AW: Kopieren an eine bestimmte Stelle von: Buddy
Geschrieben am: 15.09.2014 07:14:35

Hallo Hajo,

erstmal bitte ich um Entschuldigung, dass ich mich jetzt erst wieder melde. Hatte am Wochenende recht viel um die Ohren.

Grundsätzlich möchte ich dem Anwender meines Tools ersparen, die Liste bis zu dem Punkt wieder zu löschen, an dem er eine Zeile vergessen hat. Mitunter hat er bereits 1-2 Seiten zusammengestellt und stellt dann fest, dass in der dritten Zeile eine Information fehlt. Dann wäre viel Arbeit für die Katz.

Daher würde ich gerne ein weiteres Makro einsetzen, mit dessen Hilfe z.B. über eine MSG-Box abgefragt wird, an welcher Stelle eine Zeile eingefügt werden soll.

Z.B. Abfrage: Unter welcher Zeilen-Nr. soll eingefügt werden? Antwort: 16
Das Makro soll dann die Antwort nehmen und entsprechend bei Zeile 17 eine Zeile einfügen.

Anschließend soll mein oben aufgeführtes Makro bei Doppelklick nicht mehr die letzte beschriebene Zeile suchen und darunter einfügen, sondern auch die jetzt bestehende Lücke mit berücksichtigen. Geht so was?

Viele Grüße
Buddy


 

Beiträge aus den Excel-Beispielen zum Thema "Kopieren an eine bestimmte Stelle "