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

Daten ab Zeile 200

Daten ab Zeile 200
08.12.2008 00:01:00
AnettB
Hallo,
wie kann der Anfang eines Code lauten, wenn ich erst ab Zeile 200(in B,C,D,E,F)
meine Daten eintragen möchte?
Gruß
Anett

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten ab Zeile 200
08.12.2008 01:06:00
hary
Hallo Anett
Hier ist ein Makro fuer Spalte B. Gehe davon aus das Spalte B nicht immer bis Zeile 200 belegt ist. Teste mal.

Dim i As Long

Sub n()
i = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row + 1
If i = 202 Then
Cells(i, 2) = "aaaa"
End If
End Sub



Gruss Hary

AW: Daten ab Zeile 200
08.12.2008 07:56:09
AnettB
Hallo Hary,
Danke zunächst für deinen Ansatz, aber ich bekomme es einfach nicht
hin! Hab hier noch einmal den vollständigen Code.
Könntst du oder ein anderes Forumsmitglied diesen entsprechend
anpassen, so das er ab Zeile 200 läuft?
Vielen Dank
Grüße
Anett
Userbild
Option Explicit
Dim rngFind As Range
Dim rngID As Range

Private Sub CommandButton3_Click()
Dim letzte_Zeile As Long
With Worksheets("Service")
' Datensatz neu speichern
letzte_Zeile = .Range("A65536").End(xlUp).Offset(1, 0).Row
.Cells(letzte_Zeile, 1) = .Cells(letzte_Zeile - 1, 1) + 1
.Cells(letzte_Zeile, 2) = TextBox1.Text
.Cells(letzte_Zeile, 3) = ComboBox1.Text
.Cells(letzte_Zeile, 4) = TextBox2
.Cells(letzte_Zeile, 5) = TextBox3.Text
.Cells(letzte_Zeile, 6) = TextBox4.Text
.Cells(letzte_Zeile, 7) = TextBox5.Text
.Cells(letzte_Zeile, 8) = TextBox6.Text
.Cells(letzte_Zeile, 13) = TextBox7.Text
End With
ClearAll
UserForm_Initialize
ComboBox1.SetFocus
End Sub



Private Sub CommandButton5_Click()
If ComboBox1.Text = "" Then
'UserForm schließen
Unload UserForm1
Exit Sub
Else
If MsgBox("Den angezeigten Datensatz speichern ?", 36, "Sicherheitsabfrage") = vbYes Then
CommandButton3_Click
End If
Unload UserForm1
End If
End Sub



Private Sub CommandButton2_Click()
' Datensatz ändern
rngFind.Value = ComboBox1.Text
rngFind.Offset(0, -1).Value = TextBox1.Text
rngFind.Offset(0, 1).Value = TextBox2.Text
rngFind.Offset(0, 2).Value = TextBox3.Text
rngFind.Offset(0, 3).Value = TextBox4.Text
rngFind.Offset(0, 4).Value = TextBox5.Text
rngFind.Offset(0, 5).Value = TextBox6.Text
rngFind.Offset(0, 10).Value = TextBox7.Text
ClearAll
UserForm_Initialize
ComboBox1.SetFocus
End Sub



Private Sub CommandButton4_Click()
Dim a As Integer
Dim msg
'Datensatz löschen
a = Range(rngFind.Address).Row
If MsgBox(" Datensatz wirklich löschen ?", vbYesNo) = vbNo Then
Exit Sub
Else
Rows(a).Delete
End If
ClearAll
UserForm_Initialize
ComboBox1.SetFocus
End Sub



Private Sub CommandButton1_Click()
Dim sSearch As String
Dim firstAddress
Dim i As Integer
'Datensatz suchen
If ComboBox1.Text = "" Then
MsgBox "Geben Sie bitte einen Suchbegriff ein !"
Exit Sub
Else
sSearch = ComboBox1.Text
Set rngFind = Columns("C:C").Find(what:=sSearch, lookat:=xlWhole, LookIn:=xlValues)
If rngFind Is Nothing Then
If MsgBox("Dieser Datensatz existiert noch nicht !" & vbCrLf & vbCrLf & "  Möchten Sie ihn  _
jetzt neu anlegen ?", vbQuestion + vbYesNo, "Nachfragen") = vbNo Then
ComboBox1.Text = ""
ComboBox1.SetFocus
Exit Sub
Else
ComboBox1.SetFocus
End If
Else
i = 0
firstAddress = rngFind.Address
Do
ListBox1.AddItem
ListBox1.List(i, 0) = rngFind.Offset(0, -2).Value
ListBox1.List(i, 1) = rngFind.Offset(0, -1).Value
ListBox1.List(i, 2) = rngFind
ListBox1.List(i, 3) = rngFind.Offset(0, 1).Value
ListBox1.List(i, 4) = rngFind.Offset(0, 2).Value
ListBox1.List(i, 5) = rngFind.Offset(0, 3).Value
ListBox1.List(i, 6) = rngFind.Offset(0, 4).Value
Set rngFind = Columns("C:C").FindNext(rngFind)
i = i + 1
Loop While Not rngFind Is Nothing And rngFind.Address  firstAddress
End If
End If
If ListBox1.ListCount = 1 Then
TextBox1.Text = rngFind.Offset(0, -1).Value
TextBox2.Text = rngFind.Offset(0, 1).Value
TextBox3.Text = rngFind.Offset(0, 2).Value
TextBox4.Text = rngFind.Offset(0, 3).Value
TextBox5.Text = rngFind.Offset(0, 4).Value
TextBox6.Text = rngFind.Offset(0, 5).Value
TextBox7.Text = rngFind.Offset(0, 10).Value
ListBox1.Clear
End If
End Sub



Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim sSearch As String
If ListBox1.ListCount > 1 Then
sSearch = ListBox1.List(ListBox1.ListIndex, 0)
Set rngID = Columns("A:A").Find(what:=sSearch, lookat:=xlWhole, LookIn:=xlValues)
If Not rngID Is Nothing Then
TextBox1.Text = rngID.Offset(0, 1).Value
TextBox2.Text = rngID.Offset(0, 3).Value
TextBox3.Text = rngID.Offset(0, 4).Value
TextBox4.Text = rngID.Offset(0, 5).Value
TextBox5.Text = rngID.Offset(0, 6).Value
TextBox6.Text = rngID.Offset(0, 7).Value
TextBox7.Text = rngID.Offset(0, 12).Value
End If
sSearch = ""
End If
ListBox1.Clear
End Sub



Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
'Fehlermeldung, wenn versucht wird, die UserForm über das
'Schließenkreuz oben rechts zu schließen
If CloseMode = 0 Then
Cancel = 1
MsgBox "Bitte verlassen Sie die Eingabemaske nur mit der Schaltfläche - Beenden.", _
vbOKOnly + vbInformation, "Bitte Schaltfläche betätigen."
End If
End Sub



Public Sub UserForm_Initialize()
Dim a As Integer
a = Sheets("Service").Range("A65536").End(xlUp).Row
ComboBox1.RowSource = "Service!C2:C" & a
End Sub


Sub ClearAll()
Dim C As Integer
On Error Resume Next
For C = 1 To 2
Me.Controls("ComboBox" & CStr(C)).Text = ""
Next C
For C = 1 To 7
Me.Controls("TextBox" & CStr(C)).Text = ""
Next C
End Sub


Anzeige
AW: Daten ab Zeile 200
08.12.2008 08:29:00
Beverly
Hi Anett,
versuche es mal so:

Private Sub CommandButton3_Click()
Dim letzte_Zeile As Long
With Worksheets("Service")
' Datensatz neu speichern
letzte_Zeile = .Range("A65536").End(xlUp).Offset(1, 0).Row
If letzte_Zeile > 199 Then
.Cells(letzte_Zeile, 1) = .Cells(letzte_Zeile - 1, 1) + 1
Else
.Cells(letzte_Zeile, 1) = 1
End If
.Cells(letzte_Zeile, 2) = TextBox1.Text
.Cells(letzte_Zeile, 3) = ComboBox1.Text
.Cells(letzte_Zeile, 4) = TextBox2
.Cells(letzte_Zeile, 5) = TextBox3.Text
.Cells(letzte_Zeile, 6) = TextBox4.Text
.Cells(letzte_Zeile, 7) = TextBox5.Text
.Cells(letzte_Zeile, 8) = TextBox6.Text
.Cells(letzte_Zeile, 13) = TextBox7.Text
End With
ClearAll
UserForm_Initialize
ComboBox1.SetFocus
End Sub




Anzeige
AW: Daten ab Zeile 200
08.12.2008 09:06:59
AnettB
Hallo Karin,
bekomme folgende Meldung:
Userbild
Noch ein Tip?
Vielen Dank
Anett
AW: Daten ab Zeile 200
08.12.2008 09:35:00
Beverly
Hi Anett,
es müsste heißen

If letzte_Zeile > 200 Then




AW: Daten ab Zeile 200
08.12.2008 09:50:00
Erich
Hi Karin,
das reicht noch nicht so ganz:
Wenn letzte_Zeile = 17, wird der erste Datensatz in Zeile 17 geschrieben statt in Zeile 200.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Daten ab Zeile 200
08.12.2008 09:52:39
Beverly
Hi Erich,
dem Tabellenaufbau habe ich entnommen, dass in Zeile 199 die Überschrift für jede Spalte steht und somit wäre die letzte belegte Zelle immer mindestens 199.


AW: @Beverly: stimmt...
08.12.2008 09:56:54
Erich
Hi Karin,
du hast recht. Die Grafik hatte ich mir gar nicht angesehen, sorry!
Grüße von Erich aus Kamp-Lintfort
AW: noch ein Vorschlag
08.12.2008 09:32:00
Erich
Hallo Anett,
noch ein Vorschlag:

Private Sub CommandButton3_Click()
Dim letzte_Zeile As Long
With Worksheets("Service")
' Datensatz neu speichern
letzte_Zeile = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
If letzte_Zeile 

Und ein Tipp:
Hilfreich wäre, wenn du nicht nur die Zeile mitteilst, in der ein Fehler auftritt, sondern auch Fehlernummer und -text.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: noch ein Vorschlag
08.12.2008 09:53:07
AnettB
Hallo und nochmal ein Dankeschön für eure Hilfe.
Es gibt doch noch ein Problem. Irgendwie werden
die Reihenfolgen beim ändern,löschen usw. ver-
tauscht.
Mal eine ganz Bescheidene Frage:
Müßte da im restlichen Code nicht noch mehr auf
Zeile 200 umgestellt werden?
Ja,ja, ich weiß, immer diese komischen Fragen von
den Nichtswissenden. Hänge aber leider fest.
Grüße
Anett
unklare Fragestellung
08.12.2008 10:26:00
Beverly
Hi Anett,
loletzte_Zeile ist immer die erste leere Zeile in Spalte A, hat also nur indirekt mit der Zeile 200 zu tun.
Was meinst du mit Irgendwie werden die Reihenfolgen beim ändern,löschen usw. vertauscht.? Was wird denn womit und wie vertauscht? Und was wird denn eigentlich gelöscht?


Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige