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

Übertragen Eintrag in freie Zelle

Übertragen Eintrag in freie Zelle
06.06.2022 16:52:14
Christine
Hallo zusammen,
folgendes Problem: mittels einer UserForm (hier provisorisch InputBox) wähle ich einen Eintrag (String) aus. Dieser Eintrag ist bekannt und soll aus einer Liste (Zeile 27 - 30) gesucht werden und nach Überprüfung einer bestimmten Bedingung soll dieser Eintrag in die erste freie Zeile einer Range (Zeile 20 - 22) eingetragen werden. Aus der bisherigen Zeile soll dieser Eintrag dann im Nachgang gelöscht werden. Dazu wurde bisher folgender Code geschrieben:
Dim Auftrag_Bietverfahren As String
Dim X As Integer
MsgBox "Bitte geben Sie den zu erwerbenden Transportauftrag ein."
Auftrag_Bietverfahren = InputBox("Zu erwerbender Auftrag im Bietverfahren:")
For X = 27 To 30
Auftrag_Bietverfahren = Worksheets("Spielfeld").Cells(X, 2)
Exit For
Next X
If MsgBox("Haben Sie den Transportauftrag erhalten?", vbYesNo) = vbYes Then
Auftrag_Bietverfahren = Worksheets("Spielfeld").Cells(22, 2).End(xlUp).Row + 1
Worksheets("Spielfeld").Cells(X, 2).ClearContents
Dieser Code ist die grundlegende Lösung. Leider funktioniert das so nicht. Generell ist mir nicht klar, ob das grundsätzlich möglich ist, dass diese Überprüfung gemacht werden kann, ohne, dass der Eintrag in einer Zelle steht.

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

Betreff
Datum
Anwender
Anzeige
AW: Übertragen Eintrag in freie Zelle
06.06.2022 17:33:33
Oberschlumpf
Hi,
zeig doch bitte mal per Upload eine Bsp-Datei mit Bsp-Daten und deinem Code.
Jetzt könnte ich dich schon mal informieren, dass...

For X = 27 To 30
Auftrag_Bietverfahren = Worksheets("Spielfeld").Cells(X, 2)
Exit For
Next X
...so keinen Sinn macht, da die For/Next-Schleife schon direkt nach der 1. Wertzuweisung verlassen wird.
Aber mehr analysieren mag ich deine Codeschnipsel auch nicht weiter, da zumindest ich zu wenig Infos habe.
Ciao
Thorsten
AW: Übertragen Eintrag in freie Zelle
06.06.2022 17:59:21
ralf_b
oder so?

Option Explicit
Sub bla()
Dim Auftrag_Bietverfahren As String
Dim rngFund As Range
' MsgBox "Bitte geben Sie den zu erwerbenden Transportauftrag ein."
Auftrag_Bietverfahren = InputBox("Eingabe zu erwerbender Auftrag im Bietverfahren:", "Transportauftrag")
If Len(Auftrag_Bietverfahren) > 0 Then
With Worksheets("Spielfeld").Cells(27, 1).Resize(4)
Set rngFund = .Find(What:=Auftrag_Bietverfahren, LookIn:=xlValues, Lookat:=xlWhole)
If Not rngFund Is Nothing Then
If MsgBox("Haben Sie den Transportauftrag erhalten?", vbYesNo) = vbYes Then
Worksheets("Spielfeld").Cells(22, 2).End(xlUp).Offset(1).Value = Auftrag_Bietverfahren
rngFund.ClearContents
End If
End If
End With
End If
End Sub

Anzeige
AW: Übertragen Eintrag in freie Zelle
06.06.2022 18:54:18
Christine
Hallo,
damit hat es geklappt, vielen Dank! :)
danke für die Rückmeldung owt
06.06.2022 18:59:57
ralf_b
AW: Übertragen Eintrag in freie Zelle
10.06.2022 17:53:48
Christine
Hallo ralf_b,
ich habe doch nochmal eine Rückfrage.
Der gesuchte Eintrag steht in einer Tabelle und ich benötige aus der Zeile des ausgewählten Eintrags nun doch noch zusätzliche Informationen (aber nicht alle, weswegen nicht einfach die gesamte Zeile kopiert werden kann). Ist es daher möglich, die entsprechende Zeilennummer des gesuchten Eintrags als Variable festzulegen, um die Informationen anhand dessen zu übernehmen und die gesamte Zeile im Anschluss aus der Tabelle zu löschen? Die Spaltenzahl ist bekannt, dafür muss also keine Variable zum Einsatz kommen.
Vielen Dank im Voraus!
Anzeige
AW: Übertragen Eintrag in freie Zelle
10.06.2022 18:43:42
GerdL
Hallo Christine!

Sub bla()
Dim Auftrag_Bietverfahren As String
Dim rngFund As Range
Dim lngZeilegefunden As Long
Dim lngEinfuegezeile As Long
' MsgBox "Bitte geben Sie den zu erwerbenden Transportauftrag ein."
Auftrag_Bietverfahren = InputBox("Eingabe zu erwerbender Auftrag im Bietverfahren:", "Transportauftrag")
If Len(Auftrag_Bietverfahren) > 0 Then
With Worksheets("Spielfeld").Cells(27, 1).Resize(4)
Set rngFund = .Find(What:=Auftrag_Bietverfahren, LookIn:=xlValues, Lookat:=xlWhole)
If Not rngFund Is Nothing Then
If MsgBox("Haben Sie den Transportauftrag erhalten?", vbYesNo) = vbYes Then
lngZeilegefunden = rngFund.Row
MsgBox "Holzeile " & lngZeilegefunden
Worksheets("Spielfeld").Cells(22, 2).End(xlUp).Offset(1).Value = Auftrag_Bietverfahren
lngEinfuegezeile = Worksheets("Spielfeld").Cells(22, 2).End(xlUp).Row + 1
MsgBox "Zielzeile " & lngEinfuegezeile
rngFund.ClearContents
End If
End If
End With
End If
End Sub
Gruß Gerd
Anzeige
AW: Übertragen Eintrag in freie Zelle
10.06.2022 20:21:07
Christine
Hallo Gerd,
vielen Dank für deine Antwort!
Soweit klappt der Code, allerdings habe ich ein Problem mit dem folgenden Teil:
lngEinfuegezeile = Worksheets("Spielfeld").Cells(22, 2).End(xlUp).Row + 1
MsgBox "Zielzeile " & lngEinfuegezeile
Als Zielzeile wird mit immer die Zeile 22 ausgegeben, obwohl in Zelle 22,2 ein Wert eingetragen ist.. Hast du eine Idee woran das liegen könnte?
AW: Übertragen Eintrag in freie Zelle
11.06.2022 14:05:30
GerdL
Hallo Christine,
die nächste freie Zelle bzw. Zeile unter dem letzten Eintrag in Spalte B bekommst du so:

lngEinfuegezeile = Worksheets("Spielfeld").Cells(Worksheets("Spielfeld")..Rows.Count, 2).End(xlUp).Row + 1
Ich hatte lediglich mit Variable im bestehende Code von Ralph ausgewertet. Über deine spezielle Konstellation zur Zeilenermittlung fehlen Infos.
Gruß Gerd
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige