Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1664to1668
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

Problem mit VBA-Code

Problem mit VBA-Code
08.01.2019 09:26:51
Robert
Hallo zusammen,
erstaml vielen Dank für diese tolle Plattform - über die Suche konnte ich mir schon viel Unterschützung selber holen, doch bei diesem Punkte komme ich nicht weiter:
Bei diesem Code erhalte ich immer einen Fehler beim .Range:
letztezeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
With Sheets("xyz")
.Range("K2", Cells(letztezeile, 11)).Clear
.Range("L2", Cells(letztezeile, 12)).Clear
.Range("M2", Cells(letztezeile, 13)).Clear
End With
Wenn ich es so mache, geht es:
Workbooks("1.xlsm").Sheets("xyz").Activate
With Range("K2", Cells(letztezeile, 11)).Clear
End With
With Range("L2", Cells(letztezeile, 12)).Clear
End With
With Range("M2", Cells(letztezeile, 13)).Clear
End With
Oder so geht es auch (nur möchte ich die letzte Zeile vorher auslesen und nicht wie unten fix festlegen):
With Sheets("xyz")
.Range("K2:K100").ClearContents
.Range("L2:L100").ClearContents
.Range("M2:M100").ClearContents
End With
Nur möchte ich weder mit activate oder select die Tabellenblätter aufrufen - zwar kann ich per Application.ScreenUpdating = False dieses "Hüpfen" ausblenden, doch frage ich noch der Lösung ohne Umwege?
Vielen vielen Dank und Gruß!
Robert

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Problem mit VBA-Code
08.01.2019 09:41:39
Werner
Hallo Robert,
warum willst du im aktiven Blatt die letzte Zeile ermitteln um dann damit in einem anderen Blatt einen Bereich leeren?
Wohl eher so:
Public Sub aaa()
With Sheets("xyz")
.Range("K2:D" & .Cells(.Rows.Count, 11).End(xlUp).Row).ClearContents
.Range("L2:L" & .Cells(.Rows.Count, 12).End(xlUp).Row).ClearContents
.Range("M2:M" & .Cells(.Rows.Count, 13).End(xlUp).Row).ClearContents
End With
End Sub
Bei Verwendung von With - End with wird auf das im With angegebene Tabellenblatt referenziert indem vor jedem Range-Objekt (Range, Cells, Rows...) ein Punkt gesetzt wird.
Zudem solltest du in Zukunft vielleicht auch noch mitteilen, wlche Fehlermeldung du bekommst.
Gruß Werner
Anzeige
AW: Problem mit VBA-Code
08.01.2019 11:27:33
Robert
Hallo Werner,
besten Dank!!! Die Punkte =)
Zu deiner Frage: "warum willst du im aktiven Blatt die letzte Zeile ermitteln um dann damit in einem anderen Blatt einen Bereich leeren?"
Aus dem einen Tabellenblatt werden diverse Werte (Zeilenanzahl immer identisch) in ein anderes übertragen. Unter diesen Werten wird dann etwas berechnet - wenn ich hier die Zeilen bis zum Ende auslese, wird mir dann die Formel mit gelöscht.
Sicherlich gibt es hier von den Profis noch die Lösung dafür, das die letzte Zeile vom Auslesen nicht mitberücksichtigt wird?
DANKE!
Gerne u. Danke für die Rückmeldung. o.w.T.
08.01.2019 11:43:10
Werner
AW: Problem mit VBA-Code
08.01.2019 09:42:57
Werner
Hallo Robert,
die Zeile natürlich so:
.Range("K2:K" & .Cells(.Rows.Count, 11).End(xlUp).Row).ClearContents
Gruß Werner
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige