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

Schleife for each mit Range Bereich

Schleife for each mit Range Bereich
27.12.2021 16:19:05
Romy
Hallo liebe Community,
ich habe ein Problem bei dem ich nicht so recht weiterkomme bzw. den richtigen Ansatz finde. Beispieldatei: https://www.herber.de/bbs/user/150020.xlsx.
Ich möchte mit einer Schleife (oder auch was anderes, wenn es besser passt) abfragen, ob ein nummerischer Wert in der Spalte A der Registerkarte Info vorhanden ist.
Wenn ja, soll
1. in der aktuellen Zeile die Werte aus den Spalten D bis G (Registerkarte Info) als Bereich1 (Registerkarte Organigramm) gesetzt werden
2. Bereich1.merge = true
3. dieser Bereich1 den Textinhalt aus Spalte B der aktuellen Zeile enthalten
4. in der aktuellen Zeile in Spalte D und E Werte jeweils +1 und die Spalten D bis G (Registerkarte Info) als Bereich2 (Registerkarte Organigramm) gesetzt werden
5. Bereich2.merge = true
6. dieser Bereich2 den Textinhalt aus Spalte C der aktuellen Zeile enthalten
Nächste Zeile
Könntet ihr mir weiterhelfen? Vielen Dank im Voraus.

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

Betreff
Datum
Anwender
Anzeige
kannst du mal das Endergebnis von
27.12.2021 18:57:47
Hand darstellen, wie es dann letztlich aussehen soll, aus deiner Beschreibung werd ich zumindest nicht wirklich schlau
du kannst dir damit selber helfen indem du allen Helfern unnötige Hirn & Glaskugelarbeit ersparst ;-)
LG udo
Ein Ansatz Romy, wenn ich Dich überhaupt ..
27.12.2021 19:20:15
Udo.D
richtig verstanden habe. Wie gesagt, am Besten zeigst du das Endergebnis was das Makro letztlich machen soll.
wolltest du das ...
https://www.herber.de/bbs/user/150023.xlsm
LG Udo
Range Bereich festlegen
27.12.2021 19:45:43
Romy
Hallo Udo
Ich war leider schon immer schlecht im erklären. Hatte mir aber sehr viel Mühe gegeben mein Vorhaben so präzise wie möglich zu schildern. Anscheinend ist mein Vorhaben kläglich gescheitert...
Ich habe mir deine Tabelle angesehen. Es ist nicht das was ich möchte.
So wie gefordert von dir, habe ich mein gewünschtes Ergebnis visualisiert: https://www.herber.de/bbs/user/150024.xlsx
Anzeige
Einen Schritt näher am Ziel..
28.12.2021 01:27:46
Romy
Hallo Udo und danke für den Code Vorschlag. Ich habe ein bisschen getüftelt und ihn angepasst, nach dem Ergebnis, welches ich mir wünsche. Funktioniert. Als nächstes möchte ich das er mir aus der Tabelle auf der Registerkarte Info nicht nur die Aktive Zelle abfragt, sondern alle Einträge. So nach dem Motto: Zelle A2 ist nicht leer dann untenstehenden Code, Zelle A3 ist nicht leer dann untenstehenden Code usw. Meinen bescheidenen Kenntnissen nach müsste das mit einer For each Schleife gehen, dann Do untenstehenden Code, dann Next und bis kein Eintrag mehr in Spalte A vorhanden ist?

Sub Text_Eintragen()
Dim R As Long, Bereich1 As Range, Bereich2 As Range
R = ActiveCell.Row
If Cells(R, 2) = "" Then
MsgBox " in dieser Zeile keine Einträge ! "
Exit Sub
End If
Set Bereich1 = Sheets(2).Range(Cells(Cells(R, 4), Cells(R, 5)).Address & ":" & Cells(Cells(R, 6), Cells(R, 7)).Address)
Set Bereich2 = Sheets(2).Range(Cells(Cells(R, 4) + 1, Cells(R, 5)).Address & ":" & Cells(Cells(R, 6) + 1, Cells(R, 7)).Address)
With Bereich1
.MergeCells = True
.Value = Sheets(1).Cells(ActiveCell.Row, 2).Value
End With
With Bereich2
.MergeCells = True
.Value = Sheets(1).Cells(ActiveCell.Row, 3).Value
End With
Set Bereich1 = Nothing
Set Bereich2 = Nothing
End Sub

Anzeige
Problem gelöst
28.12.2021 02:43:59
Romy
Danke für die Hilfe. Problem wurde mit Hilfe der Suchfunktion gelöst.

Sub Text_Eintragen()
Dim R As Long, Bereich1 As Range, Bereich2 As Range
For Each Rng In Range(Range("Tabelle1[[Lfd. Nr.]]").Address)
R = Rng.Row
Set Bereich1 = Sheets(2).Range(Cells(Cells(R, 4), Cells(R, 5)).Address & ":" & Cells(Cells(R, 6), Cells(R, 7)).Address)
Set Bereich2 = Sheets(2).Range(Cells(Cells(R, 4) + 1, Cells(R, 5)).Address & ":" & Cells(Cells(R, 6) + 1, Cells(R, 7)).Address)
With Bereich1
.MergeCells = True
.Value = Sheets(1).Cells(R, 2).Value
End With
With Bereich2
.MergeCells = True
.Value = Sheets(1).Cells(R, 3).Value
End With
Set Bereich1 = Nothing
Set Bereich2 = Nothing
Next Rng
End Sub

Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige