Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zellen durchnumerieren per Input-Box???

Forumthread: Zellen durchnumerieren per Input-Box???

Zellen durchnumerieren per Input-Box???
05.11.2003 18:29:41
Selma
Hi Leute,

ich brauche wieder ein Makro (für Spalte D) :)

wenn ich z.B in Zelle D20 eine Null also "0" eintippe und Enter drücke dann soll ein Input-Box aufgehen.
In dem Input-Box möchte ich ein Zahl eintragen z.B 10 und dann beim Klick auf OK soll im Zellenbereich
D20:D30 (Zelle D20 + 10 weiteren Zellen ergeben D30) eine Null "0" stehen.

Wenn ich z.B in Zelle D40 eine eine "1" eintippe und Enter drücke dann soll ebenso ein Input-Box aufgehen.
In dem Input-Box möchte ich auch Zahl eingeben z.B. 15 und dann beim Klick auf OK sollen die nächsten Zellen
durchnummeriert werden bis Zahl 15. Das wäre der Zellenbereich D40:D54 (D40 = 1 ....... D54= 15).

Das Ergebniss würde so aussehen (siehe Anhang).
https://www.herber.de/bbs/user/1758.xls

Was sieht das Makro aus?

PS: Das Makro gilt nur für Spalte D und nicht für alle anderen Spalten.
PPS: Input-Box soll nur beim Zahl 0 und 1 aufgehen.

Vielen Dank im Voraus....

Gruß
Selma
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen durchnumerieren per Input-Box???
05.11.2003 19:03:57
Beni
Hallo Selma,
kopiere diesen Code und füge ihn in das Tabellenmodul ein, mit rechtsklick auf das Tabellenregiste/Code einfügen.
Gruss Beni


Private Sub Worksheet_Change(ByVal Target As Range)
If Target = 0 Or Target = 1 Then
Dim Wert
If Target.Row = 20 And Target.Column = 4 Then
Titel = "InputBox"
Mldg = "Wert eingeben"
Wert = InputBox(Mldg, Titel)
For i = 21 To Wert + 20
Cells(i, 4) = [D20]
Next i
End If
If Target.Row = 40 And Target.Column = 4 Then
Titel = "InputBox"
Mldg = "Wert eingeben"
Wert = InputBox(Mldg, Titel)
Wert1 = [D40] + 1
For i = 41 To Wert + 39
Cells(i, 4) = Wert1
Wert1 = Wert1 + 1
Next i
End If
End If
End Sub

Anzeige
AW: Zellen durchnumerieren per Input-Box???
06.11.2003 01:19:35
Selma
Hallo,

@Beni: Zelen D20 und D40 waren nur Beispiele, das Makro sollte wie ich es geschrieben habe für ganze Spalte D gelten ;) so wie es Peter gemacht hat. ;)

Vielen Dank vielmals und eine gute Nacht wünscht Euch Selma.....
AW: Zellen durchnumerieren per Input-Box???
05.11.2003 19:35:25
PeterW
Hallo Selma,

schau dir das mal an:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim lgAnzZeile As Long
Dim lgCount As Long
On Error GoTo ErrHandler
If Target.Column = 4 And (Target = 0 Or Target = 1) Then
Application.EnableEvents = False
lgAnzZeile = InputBox("Anzahl der Zeilen")
Select Case Target
Case 0
Range(Cells(Target.Row, 4), Cells(Target.Row + lgAnzZeile, 4)) = 0
Case 1
For lgCount = Target.Row + 1 To Target.Row + lgAnzZeile - 1
Cells(lgCount, 4) = Cells(lgCount - 1, 4) + 1
Next
End Select
End If
Application.EnableEvents = True
Exit Sub
ErrHandler:
Application.EnableEvents = True
End Sub

Gruß
Peter
Anzeige
AW: Zellen durchnumerieren per Input-Box???
06.11.2003 02:15:42
Selma
Hi Peter,

das Makro läuft wie schon gesagt prima....

Ich hatte auch Gedankenfehler bei meiner Frage ;) und zwar wenn ich eine Null "0" in z.B. Zelle D20 eintippe und Input-Box aufgeht und ich z.B. Zahl 10 eintrage dann soll
der Zellenbereich D20:D29 eine Null bekommen. Also soviele Zellen bekommen eine "0" wieviel ich es in Input-Box eintrage inclusiv Eingabezelle (bevor Input-Box starten) und nicht wie zur Zeit (Eingabezelle + Input-Box Wert).

NUR wenn ich ein Zahl in Input-Box eingetragen habe und auf OK klicke dann soll ich automatisch in nächste leere Zelle (nächste Zelle gesehen von Zelle wo das Input-Box startete) springen. In o.g. Beispiel wäre es die Zelle D30.
Das Springen in nächste leere Zelle gilt für beide Regeln (für 0 als auch für Nummerierung).

Vielen Dank nochmals....

Schöne Grüße
Selma
Anzeige
AW: Zellen durchnumerieren per Input-Box???
06.11.2003 05:07:31
PeterW
Hallo Selma,

dann so?

Private Sub Worksheet_Change(ByVal Target As Range)
Dim lgAnzZeile As Long
Dim lgCount As Long
On Error GoTo ErrHandler
If Target.Column = 4 And (Target = 0 Or Target = 1) Then
Application.EnableEvents = False
lgAnzZeile = InputBox("Anzahl der Zeilen")
Select Case Target
Case 0
Range(Cells(Target.Row, 4), Cells(Target.Row + lgAnzZeile - 1, 4)) = 0
Case 1
For lgCount = Target.Row + 1 To Target.Row + lgAnzZeile - 1
Cells(lgCount, 4) = Cells(lgCount - 1, 4) + 1
Next
End Select
End If
Cells(Target.Row + lgAnzZeile, 4).Select
Application.EnableEvents = True
Exit Sub
ErrHandler:
Application.EnableEvents = True
End Sub

Gruß
Peter
Anzeige
AW: Zellen durchnumerieren per Input-Box???
06.11.2003 08:58:05
Selma
Morgen Peter,

Dankeschön, es funzt prima....

Schöne Grüße
Selma
;

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

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