Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
408to412
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
408to412
408to412
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

erste leere zelle in spalte a fuellen

erste leere zelle in spalte a fuellen
th.heinrich
hallo an die WEschicht,
folgender CODE funzzt

Sub WertEintragen()
Dim Wert As Variant
Wert = "kein kunde"
Range("a1").Select
Do Until ActiveCell.Value = ""
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell = Wert
End Sub

sicher geht es eleganter, wie ?
wie ist die alternative, falls nach der 1. leeren zelle ein zusaetzlicher BEREICH mit LEEREN zellen steht und diese auch gefuellt werden sollen.
besten dank von thomas

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: erste leere zelle in spalte a fuellen
PeterW
Hallo Thomas,
der Code könnte ohne Select beispielsweise so aussehen:

Sub WertEintragen()
Dim Wert As String
Dim lgRow As Long
Wert = "kein kunde"
lgRow = 1
Do Until IsEmpty(Cells(lgRow, 1))
lgRow = lgRow + 1
Loop
Cells(lgRow, 1) = Wert
End Sub

Den zweiten Teil deiner Frage verstehe ich nicht. Geht es darum, bis zun nächsten wieder gefüllten Zelle die Leerzellen mit Wert zu füllen?
Gruß
Peter
AW: erste leere zelle in spalte a fuellen
th.heinrich
hallo Peter,
erst mal danke fuers entselecten.
zu 2) hast recht bloed formuliert. nach der 1. LEEREN folgt ein BEREICH mit gefuellten, dann die 2. LEERZELLE usw.
gruss thomas
Anzeige
AW: erste leere zelle in spalte a fuellen
PeterW
Hallo Thomas,
dann vielleicht besser so:

Sub WertEintragen()
Dim Wert As String
Dim lgRow As Long
Wert = "kein kunde"
For lgRow = 1 To Range("A65536").End(xlUp).Row
If IsEmpty(Cells(lgRow, 1)) Then
Cells(lgRow, 1) = Wert
End If
Next
End Sub

Gruß
Peter
AW: erste leere zelle in spalte a fuellen
y
hi Thomas,
meintest du sowas:

Sub WertEintragen()
Dim Wert As String
Dim lgRow As Long
Wert = "kein kunde"
For lgRow = 1 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(lngrow, 1) = "" Then
Cells(lgRow, 1) = Wert
End If
Next lgRow
End Sub

cu Micha
Anzeige
@Micha und Peter
th.heinrich
danke Euch zwei,
der CODE von Peter funzzt bestens. bei Micha gibt es eine FEHLERMELDUNG
fehler 1004. anwendungs- oder objekdefinierter fehler in CODEZEILE
If Cells(lngrow, 1) = "" Then
etwas aehnliches hatte ich auch schon gebastelt. wo liegt der unterschied.
gruss thomas
AW: @Micha und Peter
PeterW
Hallo Thomas,
bei der Fehlermeldung hast du Option Explicit nicht gesetzt, sonst würde auffallen, dass die Variable lngrow nicht dimensioniert ist. So ist sie 0 und ein Cells(0,1) gibt es nun mal nicht.
Gruß
Peter
AW: @Micha und Peter
y
hi Peter,
man sollte eben auch seinen code auch mal ausprobieren ;-)
du hast natürlich vollkommen recht:
If Cells(lgrow, 1) = "" Then
hi Thomas,
das ist gleich mal ein wunderschönes beispiel für die sinnhaftigkeit von "Option Explicit" gewesen (allerdings mehr ungewollt) :-(
cu Micha
Anzeige
@Micha
PeterW
Hallo Micha,
naja, ausprobieren ist oft mit viel Aufwand verbunden - für von Natur aus faule Menschen wie mich nicht die erste Wahl. ;-) In der Regel reicht es, den Code nicht live in der Antwort zu schreiben sondern den VBA-Editor zu benutzen. :-)
Gruß
Peter
danke an Euch......
th.heinrich
hi Micha und Peter,
erinnere ich mich richtig ?
OPTION EXPLICIT fordert eine DEKLARATION der VARIABLEN
gruss thomas
AW: danke an Euch......
y
hi Thomas.
ja...genau
..und damit bist du dann sicher alle im code verwendeten variablen auch "richtig" geschrieben zu haben ! (siehe mein beispiel *grummel* )
versuch einer erklärung:
...mein problem war, dass ich normalerweise die varialen nach dem typ EINDEUTIG kennzeichne
also lng für long
und da du deine variable im code als long deklariert hattest habe ich ohne nachzudenken (ja ja, ich weiss) lngrow geschrieben anstatt lgrow
siehe:
http://195.186.84.74/pos/rules.htm#Richtlinien für Variablennamen
cu Micha
Anzeige
AW: danke an Euch......
PeterW
Hallo Thomas,
da du jetzt in die VBA-Programmierung einzusteigen scheinst setze im VBA-Editor unter Extras - Optionen - Editor den Haken bei Variablendeklaration erforderlich. In jedem neu angelegten Modul bzw in jeder neuen Mappe wird die Zeile "Option Explicit" automatisch eingefügt.
Gruß
Peter
hiermit erledigt.....
th.heinrich
hallo Peter,
meine natuerlich den HAKEN unter OPTIONEN.
ob der einstieg in die VBA welt zustande kommt wage ich zu bezweifeln. habe meinem arbeitgeber verschiedene VBA-PROJEKTE, dank hilfe des Forums, angeboten. stosse dabei leider auf ignoranz, unwissenheit, furcht.... vor anwendung.
motiviert nicht besonders.
also halte ich mich mit Eurer hilfe etwas fit, wobei mein logisches denken nicht das beste ist.
danke fuer alles bis jetzt und in zukunft
gruss thomas
Anzeige

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige