Registriert seit: 01.07.2023
Version(en): Pro Plus 2019
03.10.2023, 11:23
(Dieser Beitrag wurde zuletzt bearbeitet: 03.10.2023, 12:02 von Andyle.)
Hallo liebe Forengemeinde. Wie muss ich den Code ändern, dass er nur die letzte Zeile zwischen A3 und A33 ermittelt und den markierten Bereich da einsetzt? Mein Code: Code: Wert = ActiveCell.Value Worksheets(Wert).Activate With Sheets(Wert)
lgLetzte = .Cells(.Rows.Count, 1).End(xlUp).Row + 1 .Range("A" & lgLetzte).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
End With
Application.CutCopyMode = False
Danke für Eure Hilfe
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
Hallo, z.B. so: Code: Sub aaa() Dim strZ As String With ActiveCell strZ = .Value Range(Cells(.Row, 3), Cells(.Row, 16)).Copy End With With Worksheets(strZ) .Cells(.Rows.Count, 1).End(xlUp).Offset(1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats End With Application.CutCopyMode = False End Sub
Gruß, Uwe
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
03.10.2023, 11:42
(Dieser Beitrag wurde zuletzt bearbeitet: 03.10.2023, 11:43 von RPP63.)
Moin! Sorry, aber wo hast Du denn diesen Code ausgegraben? Code: Union(Cells(rngZelle.Row, 3), Cells(rngZelle.Row, 4), Cells(rngZelle.Row, 5), Cells(rngZelle.Row, 6), Cells(rngZelle.Row, 7), Cells(rngZelle.Row, 8), Cells(rngZelle.Row, 9), Cells(rngZelle.Row, 10), Cells(rngZelle.Row, 11), Cells(rngZelle.Row, 12), Cells(rngZelle.Row, 13), Cells(rngZelle.Row, 14), Cells(rngZelle.Row, 15), Cells(rngZelle.Row, 16))
würde ich wie folgt schreiben. Entweder Code: Range(Cells(rngZelle.Row, 3), Cells(rngZelle.Row, 16))
oder auch Code: Cells(rngZelle.Row, 3).Resize(1, 14)
Ist Deine Selection zusammenhängend? Dann einfach (ohne die Else-Kaskade) Code: Selection.Resize(1, 14)
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Registriert seit: 01.07.2023
Version(en): Pro Plus 2019
Danke @Kuwer. Der Code funzt soweit. Nur wie bekomme ich es hin, dass er nur die letzte Zeile zwischen A3 und A33 ermittelt und die werte einsetzt Code: lgLetzte = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
Letzte Zeile zwischen A3 und A33 suchen und darunter die Werte einsetzen
.Range("A" & lgLetzte).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
Hallo, Code: Sub aaa() Dim strZ As String With ActiveCell strZ = .Value Range(Cells(.Row, 3), Cells(.Row, 16)).Copy End With With Worksheets(strZ) .Range("A3:A33").SpecialCells(xlCellTypeBlanks).Cells(1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats End With Application.CutCopyMode = False End Sub
Gruß, Uwe
Registriert seit: 01.07.2023
Version(en): Pro Plus 2019
Ich möchte einfach nur die letzte zeile mit Wert zwischen A3 und A33 im Tabellenblatt ermitteln
lgLetzte = Cells(.Rows.Count, 1).End(xlUp).Row
Registriert seit: 12.03.2016
Version(en): Excel 2003
Hallo im Prinzip funktioniert auch dein Code mit Cells(), wenn es nach der Zeile 33 keine Daten mehr gibt. In deinem Fall empfehle ich die Zelle 33 zu prüfen, ob sie schon befüllt ist? Dann ggf. Abbruch mit MsgBox. mfg Gast 123 Code: lgLetzte = Range("A33").End(xlUp).Row If Range("A33").Value <> "" Then MsgBox "Alle Zeilen bis 33 sind voll!": Exit Sub
Folgende(r) 1 Nutzer sagt Danke an Gast 123 für diesen Beitrag:1 Nutzer sagt Danke an Gast 123 für diesen Beitrag 28
• Andyle
Registriert seit: 29.09.2015
Version(en): 2030,5
03.10.2023, 20:10
(Dieser Beitrag wurde zuletzt bearbeitet: 03.10.2023, 20:11 von snb.)
Code: sub M_snb() msgbox sheet1.cells(3,1).end(xldown).address end sub
Registriert seit: 03.04.2020
Version(en): Office 365 und 2010
Hallo, habe diese Anforderung auch schon einmal in einer Tabelle gehabt. Ich habe mir dann so beholfen um die lezte benutzte Zeile in einem Bereich zu finden (Tabelle, Zeilen und Spalten bitte anpassen): Code: Option Explicit
Sub Test_letzteZelleimBereich1() Dim nletzte As Integer 'findet die letzte Zeile im Bereich A3 bis A33 bei Zahlen
nletzte = Tabelle1.Application.WorksheetFunction.Index(Tabelle1.Range("A3:A33"), _ Tabelle1.Application.WorksheetFunction.Match(0, Tabelle1.Range("A3:A33"), -1)).Row MsgBox nletzte End Sub
....oder
Sub Test_letzteZelleimBereich2() Dim nletzte As Integer 'findet die letzte Zeile im Bereich B3 bis B33 bei beliebigen Werten (Text und/oder Zahl)
nletzte = Tabelle1.Application.WorksheetFunction.Index(Tabelle1.Range("B3:B33"), _ Tabelle1.Application.WorksheetFunction.Match("<>", Tabelle1.Range("B3:B33"), -1)).Row MsgBox nletzte End Sub
Grüße Norbert
Registriert seit: 01.07.2023
Version(en): Pro Plus 2019
Vielen Dank an alle, für Eure Vorschläge und Hilfe!
|