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

Forumthread: Zielwertsuche über viele Spalten laufen lassen

Zielwertsuche über viele Spalten laufen lassen
03.12.2014 10:38:43
Daniel
Das Makro sieht wie folgt aus.
Ich habe 100 Zielwertsuchen. Eine Zielwertsuche pro Spalte.
Kann man dafür eine Schleife erstellen, dass sie solange rechnet bis in Zeile 24 Spalte ? keine Wert mehr vorhanden ist?
Weil so ist der Code recht lange geworden.
Und mein Wunsch wäre es so ein Makro zu erstellen, dass Abfragt wie viele Spalten erstellt werden soll, diese dann erstellt und dann die Zielwertsuche für jede Spalte ausrechnet.
Sub Makro1()
' Makro1 Makro
' Tastenkombination: Strg+d
Range("C28").Select
ActiveCell.FormulaR1C1 = "10000"
Range("C28").Select
Selection.AutoFill Destination:=Range("C28:CX28"), Type:=xlFillDefault
Range("C28:CX28").Select
Range("C25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("C28")
Range("D25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("D28")
Range("E25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("E28")
Range("F25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("F28")
Range("G25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("G28")
Range("H25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("H28")
Range("I25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("I28")
Range("J25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("J28")
Range("K25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("K28")
Range("L25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("L28")
Range("M25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("M28")
Range("N25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("N28")
Range("O25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("O28")
Range("P25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("P28")
Range("Q25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("Q28")
Range("R25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("R28")
Range("S25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("S28")
Range("T25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("T28")
Range("U25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("U28")
Range("V25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("V28")
Range("W25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("W28")
Range("X25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("X28")
Range("Y25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("Y28")
Range("Z25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("Z28")
Range("AA25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("AA28")
Range("AB25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("AB28")
Range("AC25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("AC28")
Range("AD25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("AD28")
Range("AE25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("AE28")
Range("AF25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("AF28")
Range("AG25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("AG28")
Range("AH25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("AH28")
Range("AI25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("AI28")
Range("AJ25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("AJ28")
Range("AK25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("AK28")
Range("AL25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("AL28")
Range("AM25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("AM28")
Range("AN25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("AN28")
Range("AO25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("AO28")
Range("AP25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("AP28")
Range("AQ25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("AQ28")
Range("AR25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("AR28")
Range("AS25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("AS28")
Range("AT25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("AT28")
Range("AU25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("AU28")
Range("AV25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("AV28")
Range("AW25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("AW28")
Range("AX25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("AX28")
Range("AY25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("AY28")
Range("AZ25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("AZ28")
Range("BA25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("BA28")
Range("BB25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("BB28")
Range("BC25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("BC28")
Range("BD25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("BD28")
Range("BE25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("BE28")
Range("BF25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("BF28")
Range("BG25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("BG28")
Range("BH25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("BH28")
Range("BI25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("BI28")
Range("BJ25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("BJ28")
Range("BK25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("BK28")
Range("BL25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("BL28")
Range("BM25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("BM28")
Range("BN25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("BN28")
Range("BO25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("BO28")
Range("BP25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("BP28")
Range("BQ25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("BQ28")
Range("BR25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("BR28")
Range("BS25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("BS28")
Range("BT25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("BT28")
Range("BU25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("BU28")
Range("BV25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("BV28")
Range("BW25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("BW28")
Range("BX25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("BX28")
Range("BY25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("BY28")
Range("BZ25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("BZ28")
Range("CA25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("CA28")
Range("CB25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("CB28")
Range("CC25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("CC28")
Range("CD25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("CD28")
Range("CE25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("CE28")
Range("CF25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("CF28")
Range("CG25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("CG28")
Range("CH25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("CH28")
Range("CI25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("CI28")
Range("CJ25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("CJ28")
Range("CK25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("CK28")
Range("CL25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("CL28")
Range("CM25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("CM28")
Range("CN25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("CN28")
Range("CO25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("CO28")
Range("CP25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("CP28")
Range("CQ25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("CQ28")
Range("CR25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("CR28")
Range("CS25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("CS28")
Range("CT25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("CT28")
Range("CU25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("CU28")
Range("CV25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("CV28")
Range("CW25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("CW28")
Range("CX25").GoalSeek Goal:=Range("C6"), ChangingCell:=Range("CX28")
End Sub

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zielwertsuche über viele Spalten laufen lassen
03.12.2014 13:14:04
Daniel
Lösung gefunden:
With ActiveSheet
Dim col As Long: col = 3 'Ab Spalte 3 ("C") beginnen
Do Until IsEmpty(.Cells(24, col))
.Cells(28, col).Select
ActiveCell.FormulaR1C1 = "10000"
.Cells(28, col).Select
.Cells(25, col).GoalSeek goal:=.Range("C6"), ChangingCell:=.Cells(28, col)
col = col + 1
Loop
End With
End Sub

Anzeige
AW: Zielwertsuche über viele Spalten laufen lassen
03.12.2014 13:17:43
Daniel
Lösung gefunden:

With ActiveSheet
Dim col As Long: col = 3 'Ab Spalte 3 ("C") beginnen
Do Until IsEmpty(.Cells(24, col))
.Cells(28, col).Select
ActiveCell.FormulaR1C1 = "10000"
.Cells(28, col).Select
.Cells(25, col).GoalSeek goal:=.Range("C6"), ChangingCell:=.Cells(28, col)
col = col + 1
Loop
End With
End Sub

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige