Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Mit Eingabefelder eine Spalte befüllen

Mit Eingabefelder eine Spalte befüllen
31.08.2024 20:34:49
derBaer
Hallo
Ich habe eine Spalte "B"
Diese Spalte möchte ich Befüllen. Eine Inputbox für eine Nummer z.B. Artikelnummer. Die 2te Inputbox für Anzahl der Artikelnummer, die in dieser Spalte nach unten kopiert werden soll. 3te Inputbox "Wollen sie noch weitere Artikel erfassen? => Ja, wieder mit inputbox 1 und 2 weiter ausfüllen nach suchen der erste leere Zelle.

Bsp.
Pos1; 1 Inputbox (Artikelnummer) =211
Pos2; 2 Inputbox (Anzahl) = 4 Ab Spalte (B2) soll jetzt nach unten 4x 211 hineinkopiert werden.

Pos3; 3 Inputbox = 3te Inputbox "Wollen sie noch weitere Artikel erfassen? =Ja, 1 Inputbox =555; 2te Inputbox 3 ect. ect.
wenn nein Nein, Beenden

Beispiel:
4x211
3x555
2x100


211
211
211
211
555
555
555
100
100


https://www.herber.de/bbs/user/171904.xlsm

Ich hoffe ich habe mein Anliegen einigermassen verständlich angegeben.
Vorab besten dank für deine Hilfe :-)

Urs
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mit Eingabefelder eine Spalte befüllen
31.08.2024 20:52:52
{Boris}
Hi,

ich würde das mit Zellen (im Tabellenblatt) machen.
Im Beispiel wird die Artikelnummer in F1 angegeben und die Anzahl in F2.

Code gehört in das Codemodul des Blattes. Er reagiert auf Zelländerung in F2 (Anzahl).

Option Explicit


Private Sub Worksheet_Change(ByVal Target As Range)
Const lMax As Long = 50 'Begrenzung der Wiederholungen
If Target.Address(0, 0) = "F2" Then
If Range("F1") = "" Then
MsgBox "Bitte erst Artikelnummer angeben.", vbExclamation, "Hinweis"
Exit Sub
End If
If IsNumeric(Target) Then
If Target = lMax And Target > 0 Then
Cells(Rows.Count, 2).End(xlUp).Offset(1).Resize(CLng(Target)).Value = Range("F1")
Else
MsgBox "Anzahl ist entweder negativ oder übersteigt das vorgegebene Maximum von " & lMax & " Wiederholungen.", vbExclamation, "Hinweis"
End If
Else
MsgBox "Anzahl ist nicht numerisch.", vbExclamation, "Hinweis"
End If
End If
End Sub


VG, Boris
Anzeige
Besten Dank für das schnelle Feedback. Funk Tip Top
31.08.2024 21:11:38
derBaer
Funktioniert, wie ich es gerne haben wollte, .
Ein herzliches Dankeschön :-)
AW: Mit Eingabefelder eine Spalte befüllen
31.08.2024 20:57:10
ralf_b
Um Ihre Anforderungen in Excel mit VBA (Visual Basic for Applications) zu erfüllen, können Sie ein Makro erstellen, das die gewünschten Input-Boxen verwendet, um Artikelnummern und deren Anzahl in die Spalte "B" einzufügen. Hier ist ein Beispielcode, der das beschreibt:

Erklärung des Codes:
ArtikelErfassen: Dies ist der Name des Makros.
Artikelnummer und Anzahl: Mit InputBox werden die Artikelnummer und die Anzahl der Artikel abgefragt.
Letzte Zeile finden: letzteZeile wird verwendet, um die erste leere Zelle in Spalte "B" zu finden.
Schleife zum Einfügen: Die For-Schleife kopiert die Artikelnummer die angegebene Anzahl von Malen in die Spalte "B".
Wiederholungsabfrage: Am Ende wird fragt das Makro, ob weitere Artikel erfasst werden sollen. Bei "Ja" wird der Prozess wiederholt.
Abschlussmeldung: Eine Meldung informiert, dass die Erfassung abgeschlossen ist.
Verwendung:
Öffnen Sie Excel und drücken Sie ALT + F11, um den VBA-Editor zu öffnen.
Fügen Sie ein neues Modul ein (Einfügen > Modul) und kopieren Sie den obigen Code hinein.
Schließen Sie den VBA-Editor und kehren Sie zu Excel zurück.
Führen Sie das Makro aus (Entwicklertools > Makros und wählen Sie ArtikelErfassen).

Sub ArtikelErfassen()

Dim artikelNummer As String
Dim anzahl As Integer
Dim weiter As String
Dim letzteZeile As Long
Dim i As Integer

Do
' Inputbox für Artikelnummer
artikelNummer = InputBox("Bitte geben Sie die Artikelnummer ein:")
' Inputbox für Anzahl
anzahl = InputBox("Bitte geben Sie die Anzahl der Artikelnummer ein:")

' Finden der letzten belegten Zeile in Spalte B
letzteZeile = Cells(Rows.Count, "B").End(xlUp).Row + 1

' Artikelnummer in die Spalte B einfügen
For i = 0 To anzahl - 1
Cells(letzteZeile + i, 2).Value = artikelNummer
Next i

' Nachfrage, ob weitere Artikel erfasst werden sollen
weiter = InputBox("Wollen Sie noch weitere Artikel erfassen? (Ja/Nein)")

Loop While LCase(weiter) = "ja"

MsgBox "Erfassung abgeschlossen!"
End Sub
Anzeige
AW: Mit Eingabefelder eine Spalte befüllen
01.09.2024 07:52:16
Yal
Moin,

es scheint eine VBA-Lösung gewollt, sonst hätte ich vorgeschlagen:
4 Zellen markieren (mit Shift+Pfeil nach unten geht schnell auch ohne Maus),
211 eingetippt,
Strg+Enter,
3 Zellen markieren,
555,
Strg+Enter,
...

VG
Yal
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige