Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1428to1432
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
Bitte um Hilfe - kopieren in andere Tabelle
15.06.2015 16:46:56
Hoffmann
Hallo Ihr Zauberer,
ich brauche wieder Hilfe, da ich kurz vorm irre werden bin.
Bei Doppelklick in eine Zeile soll unabhängig vom Tabellenblatt der Bereich C:G in die nächste freie Zeile (Prüfung ab B17, A ist leer)in ein anderes Tabellenblatt ("DB") kopiert werden. Erst wurde aufwärts statt abwärts ab B eingefügt, dann richtig rum ab B und nun ab C, aber er überschreibt und wählt nicht mehr die nächste freie Zeile. Kann mir bitte jemand sagen, wo im Code der Fehler ist? Mit Chat-Beispielen und probieren bin ich leider nicht weiter gekommen.
So ist der Stand:
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel   _
_
As Boolean)
'If WorksheetFunction.CountA(Sheets("DB").Range("B17:B50")) = 40 Then MsgBox "Zielbereich voll": _
_
Exit Sub
'With Sh
'Select Case .Name
'bei definierten Blattnamen
'Case "Dämmung", "Arbeitsschutz", "Bleche", "Normteile", "Werkzeug", "FuKB"
'wenn nicht in eine Zelle im Bereich L2:L3000 geklickt wurde, dann Makro verlassen
'If Intersect(.Range("$L$2:$L$3000"), Target) Is Nothing Then Exit Sub
'Bereich c:g der Zeile, in die geklickt wurde, kopieren
'.Range(.Cells(Target.Row, 3), .Cells(Target.Row, 7)).Copy
'Im Blatt ARV1 in Spalte c:g anfuegen
'Sheets("ARV1").Cells(Sheets("ARV1").Cells(Rows.Count, 3).End(xlUp).Offset(1)).PasteSpecial
'Sheets("ARV1").Cells((50), Sheets("ARV1").Cells(49, 3).End(xlUp).Row + 1).PasteSpecial
'Kopiermodus beenden
'Application.CutCopyMode = False
'Cancel = True
'End Select
'End With
'End Sub

'mit dem aktiven Blatt
Dim lngz As Long
With Sheets("ARV1")
lngz = Sheets("ARV1").Range("B50").End(xlUp).Row
End With
If lngz With Sh
'Aktion ausführen, wenn Blattname = ...
Select Case .Name
'bei definierten Blattnamen
Case "Dämmung", "Arbeitsschutz", "Bleche", "Normteile", "Werkzeug", "FuKB"
'wenn nicht in eine Zelle im Bereich L2:L3000 geklickt wurde, dann Makro verlassen
If Intersect(.Range("$L$2:$L$3000"), Target) Is Nothing Then Exit Sub
'Bereich c:g der Zeile, in die geklickt wurde, kopieren
.Range(.Cells(Target.Row, 3), .Cells(Target.Row, 7)).Copy
'Im Blatt ARV1 in Spalte c:g anfuegen
Sheets("ARV1").Cells(lngz + 2, 3).PasteSpecial
'End(xlUp).Row + 1,3)
'Sheets("ARV1").Cells(Sheets("ARV1").Cells(Rows.Count, 3).End(xlUp).Row + 1).PasteSpecial
'Kopiermodus beenden
Application.CutCopyMode = False
'Klickzelle verlassen
Cancel = True
'Ende Aktion ausführen, wenn Blattname = ...
End Select
'Ende mit dem aktiven Blatt
End With
Else
MsgBox "Alle Zeilen im Formular schon belegt!" & vbLf _
& vbLf & "Auswahl wird nicht übertragen!"
End If
End Sub
Vielen Dank im Voraus für Eure Hilfe.

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bitte um Hilfe - kopieren in andere Tabelle
15.06.2015 17:26:36
Klexy
Hmmm:
Range("B17:B50")) = 40 

Das können aber höchstens 34 sein
Dein Zielblatt heißt mal DB und mal ARV1. Kann das sein, oder versteh ich den Code falsch?

AW: Bitte um Hilfe - kopieren in andere Tabelle
15.06.2015 17:51:00
Hoffmann
Hallo Klexy,
Vielen Dank für die schnelle Reaktion. Das Blatt "DB" ist mein Auswahlblatt, das mit autoopen wunschgemäss geöffnet wird.
Richtig als Zielblatt ist "ARV1". Es soll in Spalte B ab Zeile 17 geprüft werden, ob frei ist. Auf eine Fusszeile mit oder untere Begrenzung habe ich bewusst verzichtet, je nach Spaltenhöhe passen unterschiedlich viel Spalten auf die Seite. Ich dachte range ist der bereich und 40 Zeilen reicht 😜 wie gesagt, keine Ahnung, nur probiert. C:G der angeklickten zeile (Spalte L) soll auch so übertragen werden, am besten gleich samt Rahmen. Musterdatei geht noch nicht, weil ich unterwegs bin und mühsam mit Handy tippe... Danke für deine Mühe. 👍🏻😀

Anzeige
AW: Bitte um Hilfe - kopieren in andere Tabelle
15.06.2015 18:13:26
Klexy
Das mit dem Range stimmt schon, aber Range("B17:B50") ist eben nur 34 und du prüfst weiter oben, ob es 40 ist. Aber 40 kann es gar nie sein.
Dann tu die Musterdatei später.

AW: Bitte um Hilfe - kopieren in andere Tabelle
15.06.2015 17:27:21
Klexy
Ach so: und am besten wäre natürlich eine hochgeladene Musterdatei.

AW: Bitte um Hilfe - kopieren in andere Tabelle
15.06.2015 20:26:12
Gerd
Hallo Herr Hoffmann,
versuchen Sie mal:
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel  _
As Boolean)
Dim lngz As Long
If Sheets("ARV1").Range("C50") = "" Then
'Zeile von unterster gefüllte Zelle oberhalb C50 im Zielblatt
'ermitteln u. die nächste Zeile in Variable schreiben
lngz = Sheets("ARV1").Range("C50").End(xlUp).Row + 1
'Einfügezeile auf mindestens Zeile 2 setzen
If lngz 
Gruß Gerd

Anzeige
AW: Bitte um Hilfe - kopieren in andere Tabelle
17.06.2015 23:43:43
Ines
Hallo Gerd,
vielen lieben Dank. Du warst meine Rettung. Ich hatte sofort geantwortet, aber scheinbar ist das nicht gespeichert worden. Es funktioniert so und jetzt kann ich weiter basteln. Ich will nun den Klickbereich von Spalte L auf die gesamte Zeile ausdehnen. Ist es möglich, das Kopiermakro (Bereich C:G in die nächste freie Zeile im anderen Arbeitsblatt) sowohl mit einer Spaltenüberprüfung (Wenn K = 1 - Zieltabellenblatt ARV1, wenn 2 - ARV 2 usw.) und mit einer userform zu koppeln, wo der Spalteninhalt für A (Menge) abgefragt und mit eingetragen wird? Das wäre vermutlich die nutzerfreundlichste Variante. Ich werde noch etwas weiter basteln und vielleicht schaffe ich es morgen, meinen Übungsstand mal hoch zu laden :) Augenblicklich finde ich die Möglichkeiten faszinierend, habe aber viel mehr Fragen als Antworten und scheinbar kann man das am besten durch testen lernen.
Ich wünsche noch einen schönen Abend und danke für die Zeit und Mühe.
Liebe Grüße Ines
Anzeige

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige