730 Aufrufe
Gefragt in Textverarbeitung von
Hallo,
ich würde gerne ausgewählte Zellen
durchnummerieren, beginnend
mit einer Zahl die ich in eine Input Box eingebe.

Ungefähr so:
1) Ich wähle in einer Spalte Zellen von ... bis ... aus.
2) Ich starte das Makro
3) Ich gebe die Startzahl in die Input Box ein (war leer)
und klicke OK
4) Die Zellen sind durchnummeriert und in der untersten
Zelle steht z.B. "11"

5) Ich wähle die nächsten Zellen aus
6) starte das Makro
7) In der Inputbox steht "12" und ich klicke OK
8) Die markierten Zellen werden durchnummeriert,
beginnend mit 12.

hat sowas schon mal jemand gemacht? Irgendwelche
Ideen?
Mit Makros in Excel habe ich schon relativ oft was
gemacht, aber nicht in Word, das kommt mir alles etwas
befremdlich vor :-).
Kann mir hier jemand helfen?

Danke und beste Grüße,
critchm

5 Antworten

0 Punkte
Beantwortet von m-o Profi (22.7k Punkte)
Hallo,

zu WORD-Tabellen kannst du dir mal das hier anschauen: LINK
Vielleicht hilft dir das ja etwas weiter.

Gruß

M.O.
0 Punkte
Beantwortet von
Hallo M.O.,

sorry dass ich mich jetzt erst melde. Danke für deine Antwort.
Leider ist mein VBA Wissen noch nicht so groß dass ich wüsste wie ich
den Code umzubauen habe.
Das Beispiel da spricht ja die gesamte ausgewählte Tabelle an. Ich
möchte ja nur eine Spalte.

Beste Grüße,
Michael
0 Punkte
Beantwortet von m-o Profi (22.7k Punkte)
Hallo,

Word ist zwar auch nicht mein VBA-Revier, aber dieser Code sollte so funktionieren, wie du dir das vorstellst.

Global lngStart As Long
Global lngDurchlauf As Long

Sub Zellen_nummerieren()

Dim Zelle As Word.Cell
Dim Eingabe As Variant

If lngDurchlauf = 0 Then
Eingabe = InputBox(prompt:="Bitte die Startnummer eingeben:", Title:="Eingabe Startnummer")
Else
Eingabe = InputBox(prompt:="Bitte die Startnummer eingeben:", Title:="Eingabe Startnummer", Default:=lngStart)
End If

'Abbruch, falls Eingabe keine Zahl ist
If IsNumeric(Eingabe) = False Then
MsgBox "Abbruch, da Eingabe keine Zahl ist!", 16, "Abbruch!"
Exit Sub
End If

lngStart = CLng(Eingabe)

lngDurchlauf = 1

For Each Zelle In Selection.Cells
Zelle.Range.Text = lngStart
lngStart = lngStart + 1
Next Zelle

End Sub


Gruß

M.O.
0 Punkte
Beantwortet von
Hallo M.O.,

das ist ja super! Funktioniert prima und jetzt sehe ich auch das es so einfach hätte sein können :-).

Danke für deine Hilfe!

Ich habe vor dem Abbruch-If noch folgendes eingefügt:
If Eingabe = Empty Then Exit Sub


Gruße,
Michael
0 Punkte
Beantwortet von m-o Profi (22.7k Punkte)
Hallo Michael,

freut mich, dass alles so klappt, wie du dir das vorgestellt hast.

Gruß

M.O.
...