Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1668to1672
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

letzte freie Zelle

letzte freie Zelle
25.01.2019 12:44:51
Okan
Guten Tag,
ich habe folgendes Anliegen:
ich nutze folgende Funktion und würde gerne immer die letzte Zelle finden und diese mit Daten füllen.
Leider funktioniert mein Makro nicht ganz so wie ich es will.
Es überschreibt immer die Zellen A3; B3; C3.
Function IsWorkbookOpen(strWB As String) As Boolean
On Error Resume Next
IsWorkbookOpen = Not Workbooks(strWB) Is Nothing
End Function
Sub NewAdd()
If IsWorkbookOpen("Fehlerprotokoll.xlsx") Then
Workbooks("Fehlerprotokoll.xlsx").Activate
Cells(Range("A1").End(xlDown).Row + 1, 1).Select
ActiveCell.FormulaR1C1 = Now
Cells(Range("A1").End(xlDown).Row + 1, 2).Select
ActiveCell.FormulaR1C1 = "Abteilung"
Cells(Range("A1").End(xlDown).Row + 1, 3).Select
ActiveCell.FormulaR1C1 = "Station"
Else
Set NewBook = Workbooks.Add
With NewBook
.SaveAs Filename:="C:\Users\firato\Desktop\Fehlerprotokoll.xlsx"
Range("A2").Select
ActiveCell.FormulaR1C1 = "Zeit"
Range("B2").Select
ActiveCell.FormulaR1C1 = "Abteilung"
Range("C2").Select
ActiveCell.FormulaR1C1 = "Station"
Range("D2").Select
ActiveCell.FormulaR1C1 = "Checkbox1"
Range("E2").Select
ActiveCell.FormulaR1C1 = "Checkbox2"
Range("F2").Select
ActiveCell.FormulaR1C1 = "Checkbox3"
Cells(Range("A1").End(xlDown).Row + 1, 1).Select
ActiveCell.FormulaR1C1 = Now
Cells(Range("A1").End(xlDown).Row + 1, 2).Select
ActiveCell.FormulaR1C1 = "Abteilung"
Cells(Range("A1").End(xlDown).Row + 1, 3).Select
ActiveCell.FormulaR1C1 = "Station"
End With
End If
End Sub

Ich danke im Voraus schon mal für die Rückmeldungen.
VG
Okan

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: letzte freie Zelle
25.01.2019 12:54:41
Daniel
Hallo Okan,
im Code ist keine Schleife vorhanden, sprich er führt die Anweisungen genau einmal aus. Insofern macht er genau was er soll, wenn er die Zellen A3 bis C3 befüllt. Was hast du denn damit vor? Und was macht Now?
Gruß
Daniel
AW: letzte freie Zelle
25.01.2019 13:02:16
Rudi
Hallo,
man muss von unten suchen.
Sub NewAdd()
If IsWorkbookOpen("Fehlerprotokoll.xlsx") Then
With Workbooks("Fehlerprotokoll.xlsx").Sheets(1)
With .Cells(Rows.Count, 1).End(xlUp)
.Offset(1, 0) = Now
.Offset(1, 1) = "Abteilung"
.Offset(1, 2) = "Station"
Else
Set NewBook = Workbooks.Add
With NewBook
.SaveAs Filename:="C:\Users\firato\Desktop\Fehlerprotokoll.xlsx"
With .Sheets(1)
.Range("A2") = "Zeit"
.Range("B2") = "Abteilung"
.Range("C2") = "Station"
.Range("D2") = "Checkbox1"
.Range("E2") = "Checkbox2"
.Range("F2") = "Checkbox3"
.Range("A3") = Now
.Range("B3") = "Abteilung"
.Range("C3") = "Station"
End With
End If
End Sub

Gruß
Rudi
Anzeige
AW: letzte freie Zelle
25.01.2019 13:18:07
Daniel
Das geht schon auch andersherum, so wie Okan das gemacht hat. Probleme gibt's da vor allem, wenn in der Spalte leere Zellen dazwischen sind. Dann springt er halt nicht ans Ende, sondern bis zur nächsten leeren Zelle. Ändert aber hier nicht so viel am Grundproblem des Codes.
AW: letzte freie Zelle
25.01.2019 13:30:27
Rudi
Hallo,
versuche nicht, mich zu belehren.
Du hast das nicht richtig analysiert.
Wenn du dir den Else-Zweig anschaust, kannst du erkennen, dass A1 leer ist und in Zeile2 die Überschriften beginnen. Range("A1").End(xlDown).Row ist immer 2, so dass immer Zeile 3 überschrieben wird.
Gruß
Rudi
AW: letzte freie Zelle
25.01.2019 13:39:23
Daniel
Ja also genau was ich geschrieben habe richtig? Musst dich nicht belehrt fühlen. Zu schreiben, man muss von unten nach oben suchen ist aber schlicht falsch. Aber egal, jetzt geht es um Formulierungen und nicht um wichtiges. Dein Code ist auf jeden Fall deutlich besser und übersichtlicher, gar keine Frage. Wir wollen aber ja niemanden belehren oder?
Anzeige
AW: letzte freie Zelle
25.01.2019 13:58:20
Okan
Guten Tag.
Zunächst einmal danke für die schnellen Rückmeldungen.
Ich finde die Suche von unten nach oben effizienter. Danke dafür.
Auch die Info, dass ich keine Schleife eingebaut habe hilft mir sehr. Habe ich wohl übersehen. Fehler 40 halt.
VG
Okan

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige