Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

letzte befüllte Zeile bestimmen

letzte befüllte Zeile bestimmen
09.09.2016 09:08:35
AAG
ich habe folgendes Statement :
Sub Tm1_Plan()
Dim Kopf, antwort As String
Dim Stil As Integer
Dim Datei As String
Datei = ActiveWorkbook.Name
Windows("PLAN-Upload_2017.xlsb").Activate: Sheets("Data").Select
Stil = vbYesNo + vbQuestion + vbDefaultButton2
Kopf = " *** Plan Upload *** "
antwort = MsgBox("Do you really want to overwrite existing data? Check if existing  _
data has been transmitted to TM1 successfully." & vbCrLf & vbCrLf & _
"Click Yes if you want to transfer new data! " & vbCrLf & vbCrLf & _
"Click No if you want to cancel  ", Stil, Kopf)
If antwort = vbNo Then GoTo Ende
If antwort = vbYes Then
Range("A3:F39").Select
ActiveWindow.SmallScroll Down:=-6
Range("A3:F3").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.ClearContents
Windows(Datei).Activate
Range("H6:M6").Select
Selection.AutoFilter
ActiveSheet.Range("$H6:$M$26298").AutoFilter Field:=5, Criteria1:=" 0", _
Operator:=xlFilterValues
ActiveSheet.Range("$H$6:$M$26298").AutoFilter Field:=6, Criteria1:=" 0", _
Operator:=xlFilterValues
Range("H7:M7").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("PLAN-Upload_2017.xlsb").Activate
Range("A3").Select
ActiveSheet.Paste
Windows(Datei).Activate
ActiveWindow.ScrollRow = 1
Range("H6:M6").Select
Application.CutCopyMode = False
Selection.AutoFilter
Windows("PLAN-Upload_2017.xlsb").Activate
Exit Sub
Ende:
MsgBox ("Daten bitte erneut in TM1 laden")
Windows(Datei).Activate
End If
End Sub
Ich möchte nun auch die Möglichkeit einbauen, daß die Daten die kopiert werden, nach der letzt gefüllten Zeile der Datei PLAN-Upload_2017.xlsb eingefügt werden. Wie kann ich die letzte befüllte Zeile bestimmen und wie würde ich das dann einbauen,
Danke für die Hilfe

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: letzte befüllte Zeile bestimmen
09.09.2016 10:57:09
Werner
Hallo,
das Makro solltest du noch mal überarbeiten. Activate und Select ist in den meisten Fällen unnötig.
Sub Tm1_Plan()
Dim Kopf, antwort As String
Dim Stil As Integer
Dim Datei As String
Dim loLetzte As Long
Datei = ActiveWorkbook.Name
Windows("PLAN-Upload_2017.xlsb").Activate: Sheets("Data").Select
Stil = vbYesNo + vbQuestion + vbDefaultButton2
Kopf = " *** Plan Upload *** "
antwort = MsgBox("Do you really want to overwrite existing data? Check if existing  _
data has been transmitted to TM1 successfully." & vbCrLf & vbCrLf & _
"Click Yes if you want to transfer new data! " & vbCrLf & vbCrLf & _
"Click No if you want to cancel  ", Stil, Kopf)
If antwort = vbNo Then GoTo Ende
If antwort = vbYes Then
Range("A3:F39").Select
ActiveWindow.SmallScroll Down:=-6
Range("A3:F3").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.ClearContents
Windows(Datei).Activate
Range("H6:M6").Select
Selection.AutoFilter
ActiveSheet.Range("$H6:$M$26298").AutoFilter Field:=5, Criteria1:=" 0", _
Operator:=xlFilterValues
ActiveSheet.Range("$H$6:$M$26298").AutoFilter Field:=6, Criteria1:=" 0", _
Operator:=xlFilterValues
Range("H7:M7").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
With Workbooks("PLAN-Upload_2017.xlsb").Sheets("Data")
loLetzte = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
.Cells(loLetzte, 1).PasteSpecial xlPasteValues
End With
Application.CutCopyMode = False
Windows(Datei).Activate
ActiveWindow.ScrollRow = 1
Range("H6:M6").Select
Selection.AutoFilter
Windows("PLAN-Upload_2017.xlsb").Activate
Exit Sub
Ende:
MsgBox ("Daten bitte erneut in TM1 laden")
Windows(Datei).Activate
End If
End Sub
Gruß Werner
Anzeige
AW: letzte befüllte Zeile bestimmen
09.09.2016 11:22:22
UweD
Hallo
ich hab das makro mal umgebaut und das select und active rausgenommen.
Ich hoffe ich habe die Dateien nun nicht vertauscht. das kannst du aber dann einfach ändern.
Sub Tm1_Plan() 
 
    Dim Kopf, Antwort As String 
    Dim Stil As Integer 
    Dim Datei1 As Workbook, Datei2 As Workbook 
    Dim WS1 As Worksheet, WS2 As Worksheet 
    Dim LR1 As Double, LR2 As Double 
 
    Set Datei1 = ActiveWorkbook 
    Set WS1 = Datei1.Sheets("Data") 
    Set Datei2 = Workbooks("PLAN-Upload_2017.xlsb") 
    Set WS2 = Datei2.Sheets("Data") 
    Stil = vbYesNo + vbQuestion + vbDefaultButton2 
    Kopf = " *** Plan Upload *** " 
    Antwort = MsgBox("Do you really want to overwrite existing data? Check if existing " & _
            "data has been transmitted to TM1 successfully." & vbCrLf & vbCrLf & _
            "Click Yes if you want to transfer new data! " & vbCrLf & vbCrLf & _
            "Click No if you want to cancel  ", Stil, Kopf) 
    If Antwort = vbNo Then GoTo Ende 
    If Antwort = vbYes Then 
        With WS1 
            .Range("H6:M6").AutoFilter 
            .Range("$H6:$M$26298").AutoFilter Field:=5, Criteria1:="<> 0", _
                Operator:=xlFilterValues 
            .Range("$H$6:$M$26298").AutoFilter Field:=6, Criteria1:="<> 0", _
                Operator:=xlFilterValues 
            LR1 = WS1.Cells.Columns("H:M").SpecialCells(xlCellTypeLastCell).Row 
            LR2 = WS2.Cells.Columns("A:F").SpecialCells(xlCellTypeLastCell).Row 
            .Range("H7:M" & LR1).Copy WS2.Range("A" & LR2) 
            .Range("H6:M6").AutoFilter 
            Datei2.Activate 
        End With 
   Exit Sub 
Ende: 
    MsgBox ("Daten bitte erneut in TM1 laden") 
    Datei1.Activate 
    End If 
End Sub 

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 15 - mit VBAHTML 12.6.0


Gruß UweD
Anzeige
AW: letzte befüllte Zeile bestimmen
09.09.2016 11:31:46
AAG
Vielen Dank, ich werde das ganze testen !
AW: letzte befüllte Zeile bestimmen
12.09.2016 09:35:23
AAG
Danke nochmals für die Hilfe . Es läuft alles so wie ich es haben möchte :-)
Danke für die Rückmeldung owT
12.09.2016 09:37:07
UweD

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige