Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1256to1260
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 in leere Zeile einfügen

VBA in leere Zeile einfügen
Stefan
Tach erstmal
Ich habe ein code welcher mir Dir Zeilen aus einer Tabelle in die unterste leere Zeile eines weiteren Tabellenblattes schreibt. (gefällt soweit ganz gut)
Kann man den Code abändern das er die nächst leere Zeile verwendet ?
d.h.
-Doppelklick
-Zeile Kopieren
-aufruf Tabelle 2
-Zeile suchen wo in Spalte E kein eintrag
-Zeile einfügen
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
Dim lngZielZeile As Long
If Not Intersect(Target, [A:Q]) Is Nothing Then
lngZielZeile = Worksheets("Übergabe").Cells(Rows.Count, 5).End(xlUp).Row + 1
Range(Cells(Target.Row, 1), Cells(Target.Row, 13)).Copy _
Destination:=Worksheets("Übergabe").Range("C" & lngZielZeile)
End If
Cancel = True
End Sub
P.S.Eine rutine dahinter zu gestallten mit leerzeilen einfügen bringt mir nichts !
AW: VBA in leere Zeile einfügen
07.04.2012 14:05:38
Hajo_Zi
Hallo Stefan,
was nun Leere Zeile oder Spalte E kein Eintrag? Das sind zwei unterschiedliche Sachen.

AW: VBA in leere Zeile einfügen
07.04.2012 14:18:38
Stefan
Danke für die schnelle nachfrage
Eigentlich so
nächst leere Zeile suchen in der, in der entsprechenden Spalte E, kein Eintrag steht.
Kopierte Zeile einfügen. ( Werte in einzelnen Spalten der Zeile überschreiben)
Es würde zur Not aber auch genügen wenn er einfach die nächste leere Zeile verwendet
MfG
Stefan
AW: VBA in leere Zeile einfügen
07.04.2012 14:40:51
Stefan
Danke für die schnelle nachfrage
Eigentlich so
nächst leere Zeile suchen in der, in der entsprechenden Spalte E, kein Eintrag steht.
Kopierte Zeile einfügen. ( Werte in einzelnen Spalten der Zeile überschreiben)
Es würde zur Not aber auch genügen wenn er einfach die nächste leere Zeile verwendet
MfG
Stefan
Anzeige
AW: VBA in leere Zeile einfügen
07.04.2012 15:56:47
Hajo_Zi
Hallo Stefan,
mal das finden.
Option Explicit
Sub naechste_leere_Zelle()
'* H. Ziplies                                     *
'* 14.11.08                                       *
'* erstellt von HajoZiplies@WEB.de               *
'* http://Hajo-Excel.de
Dim RaFound As Range
Dim LoLetzte As Long
' Spalte A
LoLetzte = IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows. _
Count)
Set RaFound = Range("A1:A" & LoLetzte).Find("", Range("A" & LoLetzte), , xlPart, , xlNext)
If Not RaFound Is Nothing Then
MsgBox RaFound.Address
End If
Set RaFound = Nothing
End Sub
Gruß Hajo
Anzeige
AW: VBA in leere Zeile einfügen
07.04.2012 17:22:32
Stefan
Leider kom ich so nicht weiter
LG
Stefan
AW: VBA in leere Zeile einfügen
07.04.2012 17:30:33
Hajo_Zi
Hallo Stefan,
aus den Worten
Leider kom ich so nicht weiter

kann ich Leider keine neue Antwort ableiten.
Gruß Hajo
AW: VBA in leere Zeile einfügen
07.04.2012 17:40:44
Josef

Hallo Stefan,
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
  Dim rng As Range
  
  If Not Intersect(Target, [A:Q]) Is Nothing Then
    Cancel = True
    Set rng = FirstEmptyCell(Worksheets("Übergabe").Range("E:E"))
    If Not rng Is Nothing Then Range(Cells(Target.Row, 1), Cells(Target.Row, 13)).Copy rng
  End If
  
  Set rng = Nothing
End Sub


Private Function FirstEmptyCell(Target As Range, Optional Reverse As Boolean = False) As Range
  Dim vntRet As Variant, strRef As String
  
  With Target
    strRef = "'" & .Parent.Name & "'!" & .Address
    vntRet = Evaluate(IIf(Reverse, "MAX", "MIN") & "(IF(" & strRef & "="""",ROW(" & strRef & _
      ")+COLUMN(" & strRef & ")*10^-6))")
    If IsError(vntRet) Or vntRet = 0 Then Exit Function
    Set FirstEmptyCell = .Cells(Clng(Split(vntRet, ",")(0)) - .Rows(1).Row + 1, _
      CDbl("0," & Split(vntRet, ",")(1)) / 10 ^ -6 - .Columns(1).Column + 1)
  End With
End Function



« Gruß Sepp »

Anzeige
AW: VBA in leere Zeile einfügen
07.04.2012 19:23:47
Stefan
Hey Sepp
hängt sich leider beim Fettgedruckten auf
Private Function FirstEmptyCell(Target As Range, Optional Reverse As Boolean = False) As Range
Dim vntRet As Variant, strRef As String
With Target
strRef = "'" & .Parent.Name & "'!" & .Address
vntRet = Evaluate(IIf(Reverse, "MAX", "MIN") & "(IF(" & strRef & "="""",ROW(" & strRef & _
")+COLUMN(" & strRef & ")*10^-6))")
If IsError(vntRet) Or vntRet = 0 Then Exit Function
Set FirstEmptyCell = .Cells(Clng(Split(vntRet, ",")(0)) - .Rows(1).Row + 1, _
CDbl("0," & Split(vntRet, ",")(1)) / 10 ^ -6 - .Columns(1).Column + 1)
End With
End Function
LG Stefan
Anzeige
AW: VBA in leere Zeile einfügen
07.04.2012 19:35:12
Stefan
!
AW: VBA in leere Zeile einfügen
07.04.2012 19:44:55
Josef

Hallo Stefan,
bei mir läuft es ohne Probleme, vielleicht solltest du die Datei bei der es nicht läuft hochladen.

« Gruß Sepp »

AW: VBA in leere Zeile einfügen
08.04.2012 13:52:42
stefan
Hey Sepp
hier die Arbeitsmappe
https://www.herber.de/bbs/user/79709.xls
LG
Stefan
Anzeige
AW: VBA in leere Zeile einfügen
08.04.2012 14:23:42
Josef

Hallo Stefan,
und was funktioniert jetzt nicht? Bei Doppelklick in 'Datenbank' wird die Zeile in 'Übergabe' kopiert!
Das war doch genau was du wolltest!

« Gruß Sepp »

AW: VBA in leere Zeile einfügen
08.04.2012 14:44:34
stefan
Laufzeitfehler 13
typen unverträglich
kann es vieleicht an der excel version liegen? Muß hier mit 2002 Arbeiten.
Anzeige
AW: VBA in leere Zeile einfügen
08.04.2012 15:00:12
Josef

Hallo Stefan,
du hast aber xl2003 angegeben! Mit xl2003 läuft mein Code sicher, xl2002 kann ich nicht sagen.

« Gruß Sepp »

AW: VBA in leere Zeile einfügen
08.04.2012 15:09:59
Josef

Hallo Stefan,
ersetze die Funktion mal durch folgende.
Private Function FirstEmptyCell(Target As Range) As Range
  Dim rng As Range
  
  For Each rng In Target.Cells
    If rng = "" Then
      Set FirstEmptyCell = rng
      Exit Function
    End If
  Next
  
End Function



« Gruß Sepp »

Anzeige
AW: VBA in leere Zeile einfügen
08.04.2012 15:13:36
stefan
Super
Danke Sepp die isses

335 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige