Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Variablenwert suchen und Spalte ausgeben

Variablenwert suchen und Spalte ausgeben
04.04.2017 11:57:14
Kian
Hallo zusammen,
schreibe grade ein Makro, das in einer gewissen Range einen Wert sucht und durch einen anderen ersetzt. Soweit kein Problem. Es wird allerdings etwas tricky, da der zu suchende Wert und der ersetzende Wert sich regelmäßig ändern.
- Je nach Monat muss er den Spaltenbuchstaben anpassen und durch den neuen ersetzen
Makro liegt in "Tabelle1". Es soll also in "Tabelle3" nach dem Wert von der Variable "S1" suchen (in der "Tabelle3" stehen die Werte, die er durchsuchen soll in Zeile 2). Wenn er das Match gefunden hat, soll er mir den Spaltenbuchstaben der Spalte als Variable übergeben. An dieser Stelle hakt es dann. Kriege die Find bzw. die Umwandlung in den Spaltenbuchstaben nicht hin -.- Jemand eine kluge Idee?
nochmal kurz zur Veranschaulichung.
z.B: S1 = "Feb-17"
S2 = "Mrz-17"
Er soll mir jetzt in Tabelle3 in Zeile 2 "Feb-17" raussuchen und die Spaltenummer ausgeben (bspw. "AX")
Dazu die Spaltennummer vom Match von "Mrz-17" ("AY", steht eine Spalte rechts neben "Feb-17")
"AX" muss er jetzt in Tabelle1.Range("E45:AM59") suchen und dann durch "AY" ersetzen.
Und da hakt es grade gewaltig bei mir -.-
Vielen Dank und Beste Grüße,
Kian

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Variablenwert suchen und Spalte ausgeben
04.04.2017 12:21:16
Rudi
Hallo,
wozu willst du den Spaltenbuchstaben? Die Nummer reicht doch.
Spalte = Application.Match(S1,Tabelle3.Rows(2),0)
Buchstabe=replace(cells(1,Spalte).Address(0,0),"1","")
Gruß
Rudi
AW: Variablenwert suchen und Spalte ausgeben
04.04.2017 15:00:00
Kian
Hallo Rudi,
vielen Dank für deinen Einsatz. Ich bin jetzt doch selber drauf gekommen :)
Funktioniert alles.
Besten Dank.
AW: Variablenwert suchen und Spalte ausgeben
04.04.2017 15:20:21
Werner
Hallo Kian,
schön wäre jetzt noch, wenn du andere auch an deinem Erfolg teilhaben lassen würdest, indem du deinen Code postest.
Davon lebt ein Forum schließlich.
Gruß Werner
AW: Variablenwert suchen und Spalte ausgeben
04.04.2017 15:49:00
Kian
Hallo Werner,
da hast du natürlich recht :) Hat mich wohl die spontane Freude es geschafft zu haben, überwältigt. ;)
Anbei der Code:

Sub BezugAkt
Dim CAY1,CAY2, SA1,SA2 as String
Dim SpalteA1,SpalteA2 as Long
'Suchvariable: Alter Monat
SA1 = DateSerial(Year(Date), Month(Date) - 2, 1)
'Suchvariable: Monat des aktuellen Monitorings
SA2 = DateSerial(Year(Date), Month(Date) - 1, 1)
'Spaltennummer des alten Monats heraussuchen (Werte in Zeile 2)
SpalteSA1 = Worksheets("Tabelle3").Rows(2).Find(What:=SA1, _
LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Column
'Spaltenummer des aktuellen Monats heraussuchen (Werte in Zeile 2)
SpalteSA2 = Worksheets("Tabelle3").Rows(2).Find(What:=SA2, _
LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Column
'Umwandeln der Spaltenummern in Spaltenbuchstaben
CAY1 = Split(ActiveSheet.Cells(2, SpalteSA1).Address, "$")(1)
CAY2 = Split(ActiveSheet.Cells(2, SpalteSA2).Address, "$")(1)
'Ersetzen der Zellbezüge in den Formeln: Aktueller Monat statt alter Monat.
ActiveSheet.Range("E45:AM59").Replace What:=CAY1, _
Replacement:=CAY2, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
MatchCase:=True, _
SearchFormat:=False, _
ReplaceFormat:=False
Der Bericht wird immer im Folgemonat erstellt, daher ist der "aktuelle" Monat der Vormonat.
BG
Kian
Anzeige

107 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige