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

erste freie Zelle in einem bestimmten bereich

erste freie Zelle in einem bestimmten bereich
02.01.2014 12:55:49
Marc
Hallo zsm,
ich möchte gern in einem bestimmten Bereich Zellen über 3 Textboxen und einer Checkbox füllen lassen. Der bereich der gefüllt werden soll ist f6:bc9. Es soll quasi nur in diesem bereich die erste leere Zeile gefunden werden. Was muss ich ändern damit nur in diesem Bereich danach gesucht wird?
Code bisher:
Private Sub CommandButton1_Click()
Dim WkSh As Worksheet
Dim endzeile As Long
Set WkSh = Worksheets("Tabelle1") 'Zuordnung der Adressen-Tabelle
endzeile = WkSh.UsedRange.Columns.Count ' findet die letzte verwendete Zelle.
' Leerzellen dawzischen werden nicht berücksichtigt.
WkSh.Cells(6, endzeile + 1) = TextBox1
WkSh.Cells(7, endzeile + 1) = TextBox2
WkSh.Cells(8, endzeile + 1) = TextBox3
WkSh.Cells(9, endzeile + 1) = CheckBox1
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
CheckBox1 = False
End Sub
Danke und grüß

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: erste freie Zelle in einem bestimmten bereich
02.01.2014 13:20:17
JoWE
Hallo Marc,
so findest Du die Adresse der ersten freien Zelle der aktiven Tabelle im 'UsedRange':
Sub erste_leere_Zelle_in_bereich()
With Worksheets(1).UsedRange
Set c = .Find("", LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
MsgBox _
"Bezug: " & vbTab & c.Address & vbCr & _
"Zeile: " & vbTab & c.Row & vbCr & _
"Spalte: " & vbTab & c.Column
Exit Sub
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address  firstAddress
End If
End With
End Sub

Gruß
Jochen

Anzeige
AW: erste freie Zelle in einem bestimmten bereich
02.01.2014 13:38:09
Marc
Ich glaube ich habe mich etwas undeutlich ausgedrückt :). Ich wollte keine Msgbox als ausgabe.
Hab ich mal die Dummydatei hochgeladen. Es geht um die Userform2, die Werte aus diesen Textboxen sollen in die "Tabelle" also dem Bereich f6:bc9 eingetragen werden.
https://www.herber.de/bbs/user/88658.xlsm
nicht wundern da funktioniert noch einiges nicht :D

AW: erste freie Zelle in einem bestimmten bereich
03.01.2014 09:39:28
Marc
ich bräuche noch hilfe

AW: erste freie Zelle in einem bestimmten bereich
03.01.2014 13:18:45
fcs
Hallo Marc,
in VBA-Code sollte man nicht unnötiger Weise verwirrende Variablenname verwenden. "endzeile" passt hier nicht besonders gut.
Die Suche nach der 1. leere Zelle im Bereich B6:BC6 kann unter VBA wie folgt aussehen:
Private Sub CommandButton1_Click()
Dim WkSh As Worksheet, rngFind As Range
Dim SpalteLeer As Long
Set WkSh = Worksheets("Tabelle1") 'Zuordnung der Adressen-Tabelle
With WkSh
Set rngFind = .Range("B6:BC6").Find(What:="", after:=.Range("BC6"), LookIn:=xlValues, _
lookat:=xlWhole, searchdirection:=xlNext)
If rngFind Is Nothing Then
MsgBox "Keine leeren Zellen im Bereich ""B6:BC6""", , "Suchen Leere Zelle"
Exit Sub
Else
SpalteLeer = rngFind.Column
'MsgBox "Freie Zelle: " & rngFind.Address 'Testzeile
End If
End With
WkSh.Cells(6, SpalteLeer) = TextBox1
WkSh.Cells(7, SpalteLeer) = TextBox2
WkSh.Cells(8, SpalteLeer) = TextBox3
WkSh.Cells(9, SpalteLeer) = CheckBox1
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
CheckBox1 = False
End Sub

Anzeige
AW: erste freie Zelle in einem bestimmten bereich
03.01.2014 13:27:12
hary
Moin
hab es so aehnlich wie Franz.
Private Sub CommandButton1_Click()
Dim WkSh As Worksheet
Dim zelle As Range
Set WkSh = Worksheets("Tabelle1") 'Zuordnung der Adressen-Tabelle
Set zelle = WkSh.Range("F6:BC6").Find(What:="", LookIn:=xlValues, lookat:=xlWhole)
If Not zelle Is Nothing Then
WkSh.Cells(7, zelle.Column) = TextBox1
WkSh.Cells(6, zelle.Column) = TextBox2
WkSh.Cells(8, zelle.Column) = TextBox3
WkSh.Cells(9, zelle.Column) = IIf(CheckBox1, "ja", "")
Else
MsgBox "nix mehr frei", vbInformation, "Hinweis"
End If
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
CheckBox1 = False
End Sub

gruss hary

Anzeige
AW: erste freie Zelle in einem bestimmten bereich
02.01.2014 13:20:42
hary
Moin Marc
Moechtest du hintereinander schreiben, also immer nacheinder eintragen?
Sub letzteFreie()
Dim letzte As Long
letzte = Cells(6, Columns.Count).End(xlToLeft).Column + 1
If letzte 

oder sind die Freien verteilt?
Sub naechsteFreie()
Dim zelle As Range
Set zelle = Range("F6:BC6").Find(What:="", LookIn:=xlValues, lookat:=xlWhole)
If Not zelle Is Nothing Then
MsgBox zelle.Column
End If
End Sub

gruss hary

AW: erste freie Zelle in einem bestimmten bereich
02.01.2014 13:32:16
JoWE
Hallo Marc nochmal:
oder vllt. so?
die Adresse der ersten Zelle der ersten freien Zeile:
activesheet.cells(activesheet.UsedRange.SpecialCells(xlCellTypeLastCell).row+1,1).address
oder die Zeilennummer der ersten Zelle der ersten freien Zeile:
activesheet.cells(activesheet.UsedRange.SpecialCells(xlCellTypeLastCell).row+1,1).row

Anzeige
AW: erste freie Zelle in einem bestimmten bereich
03.01.2014 23:03:37
Marc
Also vielen Dank für eure Hilfe, läuft wie ich es mir vorgestellt habe.
Ihr seid echt Klasse hier!
Frohes neues noch!!
gruß

68 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige