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

Spalte des gefundenen Wertes ausgeben

Forumthread: Spalte des gefundenen Wertes ausgeben

Spalte des gefundenen Wertes ausgeben
15.01.2026 22:54:07
CptTuttle
Hallo Forum,

ich möchte mit diesem Makro im Sheet "SP" die jeweiligen Datumsangaben in Zeile 1 in einem Array suchen.
Wenn de jeweiligen Datumsangaben aus dem Sheet SP im Array gefunden wurden, möchte ich die jeweiligen Spalte des im Array gefundenen Suchbegriffes im Sheet SP ausgeben. Leider weiß ich nicht wie man das dies umsetzt.

Bestimmt hat jmd. eine Lösung.

Viele Dank
Chris



Dim ws As Worksheet
Dim rng As Range
Dim arrDaten As Variant
Dim gesuchterWert As Variant
Dim zeilen, ii As Long
Dim ausgabetext As String

For ii = 5 To 22 Step 4

gesuchterWert = Sheets("SP").Cells(1, ii).Value

Set ws = ThisWorkbook.Sheets("HD")
Set rng = ws.Range("A8:C50")

arrDaten = rng.Value

For zeilen = LBound(arrDaten, 1) To UBound(arrDaten, 1)

If arrDaten(zeilen, 2) = gesuchterWert Then

'gebe mir die Spaltennummer von gesuchter wert im Sheet SP aus...

End If

Next zeilen

Next ii

Anzeige

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalte des gefundenen Wertes ausgeben
15.01.2026 23:46:22
Daniel
Msgbox rng.column - 1 + 2


du suchst immer in der Spalte 2 des Arrays.
das Array ist aus einem Zellbereich abgeleitet und 1 ist die erste Spalte im Array.
um die Spalte im Tabelleblatt zu bekommen, rechnest du: erste_Spalte_des_Zellbereichs - 1 + Spalte_des_Arrays

Gruß Daniel
Anzeige
AW: Spalte des gefundenen Wertes ausgeben
16.01.2026 14:40:23
daniel
die Spaltennummer ist doch die Variable ii

Gruß Daniel
AW: Spalte des gefundenen Wertes ausgeben
16.01.2026 09:46:56
CptTuttle
Hallo Daniel,

danke für die Rückmeldung. Das ist es noch nicht. Habe einen Bsp.Datei hochgeladen...

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

Gruß
Chris
Anzeige
AW: Spalte des gefundenen Wertes ausgeben
16.01.2026 10:14:47
CptTuttle
Hallo Daniel,

danke für die Rückmeldung. Das ist es noch nicht ...

HIer eine Besipieldatei.

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

Gruß
Chirs
AW: Spalte des gefundenen Wertes ausgeben
16.01.2026 10:53:12
MCO
Moin!

Array schön und gut, ich hab aber einfach direkt im Tabellenbereich gesucht.

Probier es mal aus:


Sub Bereiche_färben()
Dim Suchbereich As Range
Dim cl As Range
Dim gefunden As Range
Dim von As Range
Dim bis As Range

Sheets(1).Activate
Set Suchbereich = Sheets(2).Range("B:B")
For Each cl In Rows("1:1").SpecialCells(xlValue)
If IsDate(cl) Then
Set gefunden = Suchbereich.Find(cl)
If Not gefunden Is Nothing Then
Set von = cl.Offset(1, -2)
Set bis = von.Offset(6, 3)
Range(von, bis).Interior.ColorIndex = 44
End If
End If
Next cl
End Sub


Gruß, MCO
Anzeige
AW: Spalte des gefundenen Wertes ausgeben
16.01.2026 11:48:24
CptTuttle
HI MCO,

Danke -

während dein Makro in der Beispieldatei läuft, tut es dies in der Originaldatei nicht.

Habe nach der Zeile"
If Not gefunden Is Nothing Then" noch
Msgbox "gefunden" drin,

welche nicht erscheint. Der Suchbereich ist ebenfalls angepasst.

Seltsam. Eine Idee woran es liegen könnte?

Chris
Anzeige
AW: Spalte des gefundenen Wertes ausgeben
16.01.2026 12:58:44
MCO
Hi!

Moment,.... [Glaskugel raus]
Deine Verweise stimmen nicht. Das Makro hab ich schon so geschrieben, dass Sheet 1 und 2 benutzt werden, im Original stehen die Namen der Sheets. Vielleicht da mal näher hinschauen. [Glaskugel wieder weg]

Viel Erfolg!
Gruß, MCO
AW: Spalte des gefundenen Wertes ausgeben
16.01.2026 13:01:24
GerdL
Moin,
aus der Glaskugel:
Füge bitte mal die Msgbox direkt nach der Set gefunden..-Codezeile ein.

Gruß Gerd
Anzeige
AW: Spalte des gefundenen Wertes ausgeben
16.01.2026 13:28:55
CptTuttle
Hallo Gerd,

getan:

...
Set gefunden = Suchbereich.Find(cl)
MsgBox gefunden
...

Meldung: Objekt/-With-Block Variabel nicht festgelegt. Was das bedeutet, kann ich nur erahnen.

Chris




AW: Spalte des gefundenen Wertes ausgeben
16.01.2026 14:02:35
MCO
Hey,

2 Dinge:

Nimm mal den kompletten Code und lösche ihn aus dem Tabellen-Code.
Der Code gehört in ein Modul! musst du ggf. anlegen, oben links.

"Set gefunden" gefüllt, wie schon in der dimensierung zu sehen ist, ein RANGE-Objekt, wie "Zelle A34" oder so.
Wenn du nicht genauer beschreibst, was du willst, führt das zum Fehler. Daher lautet die korrekte Rückgabe der gefunden-Adresse

MsgBox "gefunden in Zeile " & gefunden.Row


Das kannst du auch mal beobachten, wenn du mit Rechter Maustaste mal auf "gefunden" klickst und "überwachungsfenster" auswählst. Setz in den code noch einen Haltepunkt oder ein STOP, dann kannst du mit F8 den Code schrittweise durchgehen und schauen, was gerade passiert.

Gruß, MCO
Anzeige
AW: Spalte des gefundenen Wertes ausgeben
16.01.2026 14:51:58
CptTuttle
HI MCO,

Danke, das hilft weiter.

Ich habe nun die Fehler gefunden.
Die Suchwerte aus dem Array werden in der Originaldatei aus Formeln errechnet.
Kann man das Makro so anpassen, dass auch Formelergebnisse erkannt werden?

...oder man kopiert die Formelergebnisse einfach in eine andere Spalte in wandelt diese in text um...

Gruß
Chris
Anzeige
AW: Spalte des gefundenen Wertes ausgeben
19.01.2026 08:35:08
MCO
Moin!

Sorry für die späte Antwort.

Mit dem Makro ist alles in Ordnung, es muss aber der Suchbegriff umformatiert werden, da die Suche nach dem "01.01.26" natürlich etwas ganz anderes ist als die Suche nach DATUM 01.01.26
Also suchen wir nicht nach cl sondern nach cdate(cl)
Das ganze sieht dann so aus:
Sub Bereiche_färben()

Dim Suchbereich As Range
Dim cl As Range
Dim gefunden As Range
Dim von As Range
Dim bis As Range

Sheets(1).Activate
Rows("2:10").Interior.ColorIndex = xlNone

Set Suchbereich = Sheets(2).Range("B:B")

For Each cl In Rows("1:1").SpecialCells(xlValue)
If IsDate(cl) Then
Set gefunden = Suchbereich.Find(What:=CDate(cl), LookIn:=xlValues)
If Not gefunden Is Nothing Then
MsgBox "gefunden in Zeile " & gefunden.Row
Set von = cl.Offset(1, -2)
Set bis = von.Offset(6, 3)
Range(von, bis).Interior.ColorIndex = 44
End If
End If
Next cl
End Sub


Gruß, MCO
Anzeige
AW: Spalte des gefundenen Wertes ausgeben
16.01.2026 11:25:27
CptTuttle
Danke, bedF scheidet jedoch aus...

Chris

Forumthreads zu verwandten Themen

Anzeige