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

Zeile plus 1

Zeile plus 1
31.03.2024 20:08:54
UdPa
Hallo

Ich habe diesen Code (von diesem Forum)
Sub Zaehle_plus_1()
Dim Zelle
For Each Zelle In Selection
Zelle.Value = Zelle.Value + 1
Next
End Sub

Funktioniert einwandfrei, meine Frage ist es auch möglich das dieser Code nur in bestimmten Zeilen funktioniert.
Jetzt ist es so, dass die markierte (aktive) Zeile +1 zählt, ich hätte gerne das es nur im Bereich C29:AG34 funktioniert, wenn eine andere Zeile gewählt wird sollte eine Meldung kommen, "Nicht erlaubt" z.B

Ist das möglich?

Vielen Dank für eure Mühe
LG Udo

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

Betreff
Datum
Anwender
Anzeige
AW: Zeile plus 1
31.03.2024 20:49:09
Beverly
Hi Udo,

mit folgendem Code werden nur die Zellen um 1 erhöht die innerhalb des benannten Bereichs liegen, auch wenn zusätzlich noch andere Zellen markiert sind:

Sub Zaehle_plus_1()

Dim Zelle
For Each Zelle In Selection
If Not Intersect(Zelle, Range("C29:AG34")) Is Nothing Then
Zelle.Value = Zelle.Value + 1
End If
Next
End Sub


Bis später
Karin

Link zur Homepage: https://excel-inn.de/
AW: Zeile plus 1
01.04.2024 07:18:08
Udo
Dankeschön
Funktioniert einwandfrei
Anzeige
AW: Zeile plus 1
31.03.2024 22:27:09
Oppawinni
Da wäre mein Vorschlag:
Sub Zaehle_plus_1()


Dim rngTarget As Range
Dim rngCell As Range

Set rngTarget = Intersect(Selection, Range("C29:AG34"))
If rngTarget Is Nothing Then Exit Sub

For Each rngCell In rngTarget
rngCell.Value = rngCell.Value + 1
Next

End Sub
Hintergrund?
01.04.2024 10:07:41
RPP63
Moin!
Ich verstehe offen gestanden nicht den Sinn der Übung.
Das ist doch (bei Deiner Excel-Version) eine simple SEQUENZ()
C29: =SEQUENZ(6;31)
 CDEFGHIJKLMNOPQRSTUVWXYZAAABACADAEAFAG
2912345678910111213141516171819202122232425262728293031
3032333435363738394041424344454647484950515253545556575859606162
3163646566676869707172737475767778798081828384858687888990919293
32949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
33125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
34156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186

ZelleFormel
C29=SEQUENZ(6;31)


Gruß Ralf
Anzeige
AW: Hintergrund?
01.04.2024 10:23:52
Oppawinni
Ich weiß ja nicht, was dir deine Kristallkugel da erzählt.
Ich hab nur verstanden, dass irgendeine gewählte Zelle inkrementiert werden soll.
Wozu das Ganze gut sein soll, muss ich ja vielleicht nicht wissen.
Kristallkugel
01.04.2024 10:45:03
RPP63
Yepp, habe ich wohl fehlinterpretiert.
Neuer Versuch:
Laut TE sollen alle Zellen einer Zellauswahl um 1 erhöht werden.
Dies geht auch ohne Schleife:
Sub eins_hoch()

With Range("RPP63")
.Value = 1
.Copy
Intersect(Selection, Range("C29:AG34")).PasteSpecial Operation:=xlAdd
.Clear
End With
End Sub

Gruß Ralf
Anzeige
AW: Zeile plus 1
31.03.2024 23:01:50
Oppawinni
Das mit der Meldung ist so eine Sache.
Prinzipiell könntet du ja mehrere Zellen gewählt haben, von nur ein Teil im gültigen Bereich liegt.
Was soll dann passieren?
Meldung (Welche?) und nichts tun.
Meldung (Welche?) und die Zellen bearbeiten, die im gültigen Bereich liegen
Welche Meldung, wenn alle gewählten Zellen außerhalb des gültigen Bereichs liegen.
AW: Zeile plus 1
01.04.2024 00:07:03
Oppawinni
Ich vermute einmal, dass die Aktion nur für eine Zelle ausgeführt werden soll, dann könnte man das so machen:


Sub Zaehle_plus_1()

Dim rngTarget As Range
Set rngTarget = Intersect(Selection, Range("C29:AG34"))

If Selection.Cells.Count > 1 or rngTarget Is Nothing Then
MsgBox "für nur eine Zelle im" & vbCR & "Bereich von C29 bis AG34" & vbCR & "zulässig", vbOKOnly Or vbExclamation
Exit Sub
End If

rngTarget.Value = rngTarget.Value + 1

End Sub
Anzeige
AW: Zeile plus 1
01.04.2024 07:17:29
Udo
Vielen Dank

Genau so wollte ich das haben
Perfekt!
AW: Zeile plus 1
01.04.2024 08:43:51
Udo
Also es funktioniert perfekt, so wie ich es wollte.

Eine Frage hätte ich noch, jetzt ist es so das eine Zahl in der Zeile stehen muss, wenn die Zeile leer ist kommt debuggen, kann man das auch verhindern?
LG
AW: Zeile plus 1
01.04.2024 08:57:59
Oppawinni
ersetzte mal
rngTarget.Value = rngTarget.Value + 1
durch
rngTarget.Value = val(rngTarget.Value) + 1

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige