ich habe heute eine Herausforderung, welche mich schon Stunden aufhält. (Bin aber auch absoluter VBA Neuling und kann mir bisher nur über zusammenkopieren helfen.)
Ich bin auf der Suche nach einem bestimmten Wert in einer variablen Zeile, um dann rechts davon eine Spalte einfügen zu können.
Ursprünglich habe ich es in letzter Zeit immer mit Verknüpfungen versucht, aber wenn eine Schleife noch einmal durchläuft, kann ich nicht verhindern, dass ich eine weitere leere Spalte erhalte.
Im Anhang eine Beispieldatei (ähnliche Herausforderung hatte ich schon einmal vor sechs Wochen, jedoch wurde es da über eine Aggregats-Formel von Werner gelöst. Nun soll es über VBA passieren, um weitere Veränderungen vornehmen zu können (auch das wurde von Onur mit Bezug zur Tabelle gelöst, jedoch kann ich den Schnipsel nicht so umbauen, dass es bei mir klappt.
Das ist mein Versuch, aber es wird die falsche Zelle markiert.
Sub test()
Dim Ergebnis As String
With Range("a8:r8")
Ergebnis = IIf(.Cells(.Cells.Count) = "Sales Value EUR", .Cells(.Cells.Count).End(xlToLeft), .Cells(.Cells. _
Count)).Select
End With
End Sub
Onurs Variante kann ich leider nicht umbauen:
Public Function FindeLetzten(Item As String, text As String, blatt As String, bereich As Range, offset As Long)
Dim cell, adr1, adr2
With Worksheets(blatt)
For Each cell In .Range(bereich.Address)
If cell.text = Item Then Set adr1 = cell
If cell.text = text Then Set adr2 = cell
Next
End With
FindeLetzten = Worksheets(blatt).Cells(adr1.Row, adr2.Column + offset)
End Function
Also: Ich suche nach der rechten Zelle "Sales Value EUR" in einer variablen Spalte und Zeile, um anschließend rechts davon zwei Spalten einfügen zu können (da sollen dann mal %-Steigerungen berechnet werden). Wird das Makro nochmal ausgeführt, soll keine weitere Spalte eingefügt werden. Mehr wäre es nicht. Für mich jedoch zu viel. Ich bitte um Unterstützung.
LGS
https://www.herber.de/bbs/user/157447.xlsx