URL: https://www.overclockers.at/coding-stuff/kleines_excel_skript_leere_zeile_suchen_196682/page_1 - zur Vollversion wechseln!
excel noob braucht wieder hilfe :/
ich hab zwei excel dateien, wobei von der einen daten in die andere geschrieben werden sollen.
das ist kein problem.
ich bräuchte aber ein kleines skript, das mir im zweiten file (dort wo die daten reingespielt werden) die nächste freie zeile sucht und dort die einträge dann reinspielt. wenn in einer zeile eine der 20 zellen belegt ist geht er in die nächste.
daten werden dann mit ...cells(zeilennr, 1) ...cells(zeilennr, 20) überspielt.
sprich ich bräucht als rückgabe die zeilennr.
hätt eine lösung zum problem gefunden, leider in alter excel sprache 
Grunddaten_Speichern()
=ECHO(FALSCH)
=WENN(ISTLEER(Grunddaten!C1))
= NächsteFreieNummerErmitteln()
= DatenInÜbersichtsblattSpeichern(B88)
= FORMEL(B88;Grunddaten!C1)
= FORMEL(B88;Grunddaten!C5)
=SONST()
= DatenInÜbersichtsblattSpeichern(Grunddaten!C1)
=ENDE.WENN()
=RÜCKSPRUNG()
von der logik her komm ich noch mit, aber ich hab keinen plan das in vba umzusetzen...
das freie zeilen ermitteln müsste so gehen:
Code:Function FreieZeile() Dim i As Integer i = 1 While Worksheets("Tabelle1").Cells(i, 1).Value <> "" i = i + 1 Wend FreieZelle = i End Function
ich hoff so passts nunCode:'identifier wert1 = Art wert2 = VkNr wert3 = Jahr check: zelle1 = ActiveCell.FormulaR1C1 ActiveCell.Offset(0, 1).Activate zelle2 = ActiveCell.FormulaR1C1 ActiveCell.Offset(0, 1).Activate zelle3 = ActiveCell.FormulaR1C1 ActiveCell.Offset(0, -2).Activate 'existierende zeile suchen weiter: If wert1 = zelle1 Then If wert2 = zelle2 Then If wert3 = zelle3 Then zeilenr = ActiveCell.Row MsgBox ("Bereits vorhandene Einträge werden ersetzt") Sheets("Tabelle1").Cells(zeilenr, 1).Value = Art Sheets("Tabelle1").Cells(zeilenr, 2).Value = VkNr Sheets("Tabelle1").Cells(zeilenr, 3).Value = Jahr ... GoTo ende End If End If End If 'ansonsten leere zeile suchen If zelle1 = "" And zelle2 = "" And zelle3 = "" Then zeilenr = ActiveCell.Row MsgBox ("Einträge werden neu angelegt") Sheets("Tabelle1").Cells(zeilenr, 1).Value = Art Sheets("Tabelle1").Cells(zeilenr, 2).Value = VkNr Sheets("Tabelle1").Cells(zeilenr, 3).Value = Jahr ... GoTo ende End If ActiveCell.Offset(1, 0).Activate GoTo check ende:
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026