Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
712to716
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
712to716
712to716
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zeilenblock in 1. freie Zeile nach letztem Eintrag

Zeilenblock in 1. freie Zeile nach letztem Eintrag
03.01.2006 14:03:33
Konni
Hallo Freaks,
ich bin schon wieder da.
Mit Hilfe des Forums ist es mir gelungen eine schöne, prima funktionierende Tabelle aufzubauen. Nun soll noch ein Zeilenblock, bestehend aus 8 Zeilen, verteilt über die Spalten "C" bis "K", per Button ab der ersten freien Zeile (nach letzter NICHT leerer Zeile) eingetragen werden (dient als Unterschriftenblock). Die Vorlage befindet sich im selben Tabellenblatt in den Spalten "AA" bis "AJ" (belegt dort 8 Zeilen, beginnend mit "AA10" bis "AJ19").
Vielen Dank schon im voraus!
Konni :-)

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilenblock in 1. freie Zeile nach letztem Ein
03.01.2006 14:29:38
Beverly
Hi Konni,
versuche folgenden Code
Sub kopieren()
Dim loLetzte As Long
With Worksheets("Tabelle1")
If IsEmpty(Cells(65536, 3)) Then
loLetzte = .Cells(Rows.Count, 3).End(xlUp).Row
End If
.Range(Cells(10, 27), Cells(19, 37)).Copy Destination:=.Cells(loLetzte + 1, 3)
End With
End Sub

Nicht vergessen, den Tabellennamen noch anzupassen.
Bis später,
Karin
AW: Zeilenblock - klappt, ............. nicht ganz
03.01.2006 16:25:38
Konni
Hallo Karin,
bin begeistert, aber die Sache hat einen kleinen Schönheitsfehler:
Die Kopie landet zwar an der richtigen Stelle, aber um 1 Spalte nach rechts versetzt.
Habe an Deinem Code alles ausprobiert, kriege es aber leider nicht hin, weil mir dazu die nötigen Kenntnisse fehlen.
Eine Bitte noch, falls nicht zuviel verlangt: Den Code mit Kommentaren versehen. Damit bei mir der Lernprozess in Schwung kommt.
Tausend Dank
Konn :-)
Anzeige
AW: Zeilenblock - klappt, ............. nicht ganz
03.01.2006 20:14:03
HansH
Hallo Konni,
und wenn Du den Teil so änderst?
:=.Cells(loLetzte + 1, 2)
Gruß
Hans
AW: Zeilenblock - klappt jetzt, Änderung möglich
03.01.2006 20:57:39
Konni
Hallo Hans,
vielen, vielen Dank für Deinen Tip, klappt alles einwandfrei!!!!!!!
Jedoch habe ich noch eine Frage:
Wie verknüpft man beide Code so, dass der Zeilenblock am Ende automatisch integriert wird?


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column <> 4 Then Exit Sub
'cancel = true unterdrückt den Editmodus der Zelle
Cancel = True
Set c = Worksheets(2).Range("c1:c1000").Find(Cells(Target.Row, Target.Column))
Text = ""
'nachstehend die Zeilenanzahl der MsgBox
For x = 1 To 4
If Trim(Worksheets(2).Cells(c.Row + x, c.Column)) = "" Then Exit For
Text = Text & vbLf & Worksheets(2).Cells(c.Row + x, c.Column)
Next x
a = MsgBox(Text, vbOKOnly, Worksheets(2).Cells(c.Row, c.Column))
End Sub
' Sub drucken()
' Range("A1:K" & Cells(Rows.Count, 1).End(xlUp).Row).Select
' Selection.PrintOut Copies:=1
' End Sub
Sub drucken() ' von Volker
Range("A1:K" & Rows.Count).Select
Selection.PrintOut Copies:=1
End Sub
' Sub drucken() ' von Harald E
Dim x As Long
x = Cells(Rows.Count, 11).End(xlUp).Row
Range("A1:K" & x).PrintOut Copies:=1
End Sub
Sub kopieren() ' von Karin (beverly)
    Dim loLetzte As Long
    With Worksheets("Nachtragsübersicht")
        If IsEmpty(Cells(65536, 2)) Then
            loLetzte = .Cells(Rows.Count, 2).End(xlUp).Row
        End If
        .Range(Cells(10, 27), Cells(19, 36)).Copy Destination:=.Cells(loLetzte + 1, 2)
    End With
End Sub

Hans, ne bescheidene Frage: Bist Du Hans Herber?
Viele Grüße und vielen Dank
Konni :-)
Anzeige
AW: Zeilenblock - klappt jetzt, Änderung möglich
03.01.2006 21:43:40
HansH
Hallo Konni,
bloss keine Verwechslung mit Hans Herber. Ich melde mich mit HansH, um mich von den anderen Hansis zu unterscheiden, bin nur Feierabendanfänger und mir wird mehr geholfen als dass ich selber helfen kann. Aber Du hast Recht, vielleicht sollte ich überlegen, meinen Namen in HansHei zu ändern. Ich weiß garnicht wie sich Hans Herber kürzelt?
Zum anderen Punkt. Ich vermute, dass Du die "SUBs" "drucken" und "kopieren meinst. Ich habe bisher alles in Eine gepackt. Also oben "Sub" "kopieren_drucken" und unten "End Sub". Vielleicht muss man nur aufpassen in welcher Reihenfolge der Code ablaufen muss. Würde ich experimentieren, aber mit Sicherheit sind hier einige schlauer.
Gruß
Hans
stelle mal auf offen
Anzeige
AW: Zeilenblock - klappt jetzt, Änderung möglich
03.01.2006 21:57:32
Beverly
Hi Konni,
eine Sub kann man aus einer anderen heraus aufrufen, indem man ihren Namen genau an die Stelle schreibt, von wo aus man sie starten will. Dann können sie auch getrennt stehen bleiben.
Willst du z.B. die Sub kopieren() am Ende der Sub drucken() aufrufen, müsssen deine letzten Zeilen dort so aussehen
    ....
Range("A1:K" & x).PrintOut Copies:=1
kopieren
End Sub

Bis später,
Karin
AW: Zeilenblock - klappt jetzt, Änderung möglich
04.01.2006 09:33:26
Konni
Guten Morgen Karin,
ich habe nachstehenden Code von Volker ausprobiert:

Sub drucken() ' von Volker
Range("A1:K" & Rows.Count).Select
Selection.PrintOut Copies:=1
End Sub

Klappt super. Einen Nachteil hat das Ganze noch: Es werden leider noch 6 leere Folgeseiten ausgeworfen. Der Druckbereich sollte doch an der letzten beschriebenen (nicht leeren Zeile) enden!
Gruß und Dank
Konni
Anzeige
AW: Zeilenblock - klappt jetzt, Änderung möglich
04.01.2006 10:45:11
Beverly
Hi Konni,
versuche es mal mit
Selection.PrintOut(1,1,1)
Bis später,
Karin
AW: Zeilenblock - klappt jetzt, Änderung möglich
04.01.2006 11:08:23
Konni
Hallo Karin,
schön dass Du Dich meldest. Habe den Code geändert und erhalte folgende Fehlermeldung:
Fehler beim Kompilieren - Erwartet =
Leider kann ich kein VBA, habe aber verschiedene Varianten probiert, geht leider nicht.
Gruß
Konni :-(
AW: Zeilenblock - klappt jetzt, Änderung möglich
04.01.2006 11:09:01
Konni
Hallo Karin,
schön dass Du Dich meldest. Habe den Code geändert und erhalte folgende Fehlermeldung:
Fehler beim Kompilieren - Erwartet =
Leider kann ich kein VBA, habe aber verschiedene Varianten probiert, geht leider nicht.
Gruß
Konni :-(
Anzeige
AW: Zeilenblock - klappt jetzt, Änderung möglich
04.01.2006 13:44:33
Beverly
Hi Konni,
da fällt mir dann nur noch ein
PrintOut From:=1, To:=1, Copies:=1
Bis später,

Karin
AW: Zeilenblock - Threadende
04.01.2006 14:33:52
Konni
Hallo Karin,
ich möchte für Deinen tollen Einsatz bedanken. Durch meine unbeabsichtigte Schuld habe ich Dich, Volker und Harald leider in die Irre geführt. Siehe meine Anwort an Volker:
AW: Druckbereich - Harald und Volker - ich glaube - von Konni am 04.01.2006
Es ist gut zu wissen, dass es Menschen gibt, die so lange bei der Stange bleiben.
Vielen Dank nochmal, bis zum nächsten Problem.
Grüße
Konni :-)))
Anzeige
AW: Zeilenblock - klappt, ............. nicht ganz
03.01.2006 22:18:32
Konni
Hallo Hans,
der Code, den ich vorher eingestellt habe, war falsch!
Nachstehend der (hoffentlich) richtige:


Public Sub copy_2_1() ' von Rainer?
    If MsgBox("Es werden nur die Zeilen kopiert, die mit der Nachtragsversions-Nummer bezeichnet sind!  Steht die NT-Nummer in der richtigen Zeile (Pos.-Nr., Kurztext-Überschrift)? Enthalten diese Zeilen auch alle Angaben, die in der Nachtragsübersicht benötigt werden?", vbYesNo, "Sicherheitsabfrage") = vbNo Then Exit Sub
    Application.ScreenUpdating = False
    Sheets(1).Range(Sheets(1).Cells(10, 3), Sheets(1).Cells(65535, 8)).ClearContents
    'cells(10, 3) 10 = Zeilennummer, 3 = Spalte C
    nRow = 10 ' = Startzeile
    calcMode = Application.Calculation
    Application.Calculation = xlCalculationManual
    For i = 10 To Sheets(2).UsedRange.Rows.Count
        If Sheets(2).Cells(i, 1).Value <> "" Then   ' übetragen
            Sheets(1).Cells(nRow, 2).Value = Sheets(2).Cells(i, 1).Value
            Sheets(1).Cells(nRow, 3).Value = Sheets(2).Cells(i, 2).Value
            Sheets(1).Cells(nRow, 4).Value = Sheets(2).Cells(i, 3).Value
            Sheets(1).Cells(nRow, 5).Value = Sheets(2).Cells(i, 4).Value
            Sheets(1).Cells(nRow, 6).Value = Sheets(2).Cells(i, 5).Value
            Sheets(1).Cells(nRow, 7).Value = Sheets(2).Cells(i, 6).Value
            Sheets(1).Cells(nRow, 8).Value = Sheets(2).Cells(i, 7).Value
            nRow = nRow + 1
        End If
    Next i
    Application.ScreenUpdating = True
    Application.Calculation = calcMode
End Sub
Sub kopieren() 'von Karin (Beverly)
    Dim loLetzte As Long
    With Worksheets("Nachtragsübersicht")
        If IsEmpty(Cells(65536, 3)) Then
            loLetzte = .Cells(Rows.Count, 3).End(xlUp).Row
        End If
        .Range(Cells(10, 27), Cells(19, 36)).Copy Destination:=.Cells(loLetzte + 1, 2) ' korrigiert von HansH.
    End With
End Sub


Hinweis: Wenn der 1. Code gelaufen ist, soll im Anschluss daran der 2. Code laufen (Zeilenblock von Karin, koriegiert von Dir). - Für Könner wahrscheinlich nicht so schwer!?Bin auf das Ergebnis gespannt!!!!!!!!!!
Viele Grüße, gute Nacht (bin schon seit 4 Uhr auf den Beinen)
Konni :-)
Anzeige
AW: Zeilenblock - klappt, ............. nicht ganz
03.01.2006 22:35:25
HansH
Hallo Konni,
also ich müsste das erst nachbauen. Aber Karin ist glaube ich noch da. Vermute mal, dass sie da den Überblick hat.
Du solltest ihren Beitrag entsprechend beantworten.
Gruß
Hans
AW: Zeilenblock - klappt, ............. nicht ganz
04.01.2006 00:08:00
HansH
Moin Konni,
also weil ich erst seit 06:30 Uhr auf den Beinen bin und 4 Jahre jünger, mal ein Vorschlag ohne viel Tamtam. Hauptsache ich kriege keine Haue.



Public Sub copy_2_1()

'mit freundlicher Unterstützung von

'Rainer und Karin(Beverly) aus Herbers Excel-Forum

    If MsgBox("Es werden nur die Zeilen kopiert, die mit der Nachtragsversions-Nummer bezeichnet sind!  Steht die NT-Nummer in der richtigen Zeile (Pos.-Nr., Kurztext-Überschrift)? Enthalten diese Zeilen auch alle Angaben, die in der Nachtragsübersicht benötigt werden?", vbYesNo, "Sicherheitsabfrage") = vbNo Then Exit Sub

    Application.ScreenUpdating = False

    Sheets(1).Range(Sheets(1).Cells(10, 3), Sheets(1).Cells(65535, 8)).ClearContents

    'cells(10, 3) 10 = Zeilennummer, 3 = Spalte C

    nRow = 10 ' = Startzeile

    calcMode = Application.Calculation

    Application.Calculation = xlCalculationManual

    For i = 10 To Sheets(2).UsedRange.Rows.Count

        If Sheets(2).Cells(i, 1).Value <> "" Then   ' übetragen

            Sheets(1).Cells(nRow, 2).Value = Sheets(2).Cells(i, 1).Value

            Sheets(1).Cells(nRow, 3).Value = Sheets(2).Cells(i, 2).Value

            Sheets(1).Cells(nRow, 4).Value = Sheets(2).Cells(i, 3).Value

            Sheets(1).Cells(nRow, 5).Value = Sheets(2).Cells(i, 4).Value

            Sheets(1).Cells(nRow, 6).Value = Sheets(2).Cells(i, 5).Value

            Sheets(1).Cells(nRow, 7).Value = Sheets(2).Cells(i, 6).Value

            Sheets(1).Cells(nRow, 8).Value = Sheets(2).Cells(i, 7).Value

            nRow = nRow + 1

        End If

    Next i

    Application.ScreenUpdating = True

    Application.Calculation = calcMode

'End Sub weg

'******************************************************************************

'Sub... weg

    Dim loLetzte As Long

    With Worksheets("Nachtragsübersicht")

        If IsEmpty(Cells(65536, 3)) Then

            loLetzte = .Cells(Rows.Count, 3).End(xlUp).Row

        End If

        .Range(Cells(10, 27), Cells(19, 36)).Copy Destination:=.Cells(loLetzte + 1, 2)

    End With

End Sub

Gruß
Hans
Anzeige
AW: Zeilenblock - klappt, ............. nicht ganz
04.01.2006 09:20:54
Konni
Guten Morgen Hans,
Haue kriegst Du keine. Deinen Vorschlag hatte ich auch schon vorher probiert, klappt aber leider nicht, so wie wir es uns beide vorgestellt haben.
Ich bin gestern um 22:30 Uhr in die Kiste, da bei mir schon um 4:15 Uhr die Nacht vorbei ist. Vielleicht ist Dein Tag länger!? Muss dann aber an der geringeren Anzahl von Lenzen liegen ;-)
Grüße
Konni

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige