Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Wenn Inhalt in Spalte, dann ersetzen mit "..."
30.05.2014 11:55:48
Carlos
Schönen guten Tag zusammen,
ich habe mich hier zwar durchs Forum gelesen (sowie durch weitere andere Foren), aber leider konnte ich adhoc keine Lösung zu meiner Problematik finden.
Eigentlich ist die Thematik wohlmöglich leicht zu lösen. Ich habe eine Matrix mit (logischerweise) x und y-Achse. In dieser Matrix befinden sich in manchen Zellen Werte (die eigentlich irrelevant sind). Nun soll das Makro bewirken, dass wenn in einer Spalte der Matrix ein Zelle generell einen Inhalt aufweist, dieser ersetzt werden soll mit dem Wert der y-Achse (oder von mir angegebenen Wert).
Ich habe eine knappe Beispieldatei angehangen um das Problem / die Herausforderung zu schildern.
https://www.herber.de/bbs/user/90906.xlsx
Die Zielsetzung ist, dass ich eine Spalte markiere, das Makro ausführe, das Makro mich nach dem einzusetzenden Wert fragt und anschließend alle Werte in der Spalte mit dem angegebenen Wert ersetzt.
In dem Beispiele würden Zellen H15,H20 mit 45 ersetzt werden, I18 mit 59 ersetzt werden und J13 mit 75 ersetzt werden.
Vielen Dank für eure Unterstützung.

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

Betreff
Datum
Anwender
Anzeige
Wenn Inhalt, dann Ersetzen mit ...
30.05.2014 12:03:50
Matthias
Hallo
Range("H10:H20").SpecialCells(xlCellTypeConstants, 1) = InputBox("Bitte Wert eingeben")
Analog für die anderen Bereiche
Gruß Matthias

AW: Wenn Inhalt, dann Ersetzen mit ...
30.05.2014 12:06:44
Carlos
Hallo Matthias,
besten Dank für die schnelle Antwort.
Die Lösung ist wahrscheinlich die zweitpraktikabelste Lösung. Da die einzusetzenden Werte in der Zeile 9 bereits eigentlich bekannt sind, besteht eine Möglichkeit dies in das Makro zu integrieren? Sprich umgangsprachlich: Ersetzen mit Wert H9/I9/J9 etc?
Vielen Dank!

AW: Wenn Inhalt, dann Ersetzen mit ...
30.05.2014 12:16:14
Matthias
Hallo
Range("H10:H20").SpecialCells(xlCellTypeConstants, 1) = Range("H9").Value

usw.
Gruß Matthias

Anzeige
noch ein Hinweis
30.05.2014 12:25:03
Matthias
Hallo
Willst Du nicht nur Zahlen ersetzen, dann mach aus der 1 eine 23
Range("H10:H20").SpecialCells(xlCellTypeConstants, 23) = Range("H9").Value
Gruß Matthias

AW: noch ein Hinweis
30.05.2014 12:36:13
Carlos
Hi Matthias,
wieder besten Dank. So würde das Makro gut funktioniere, allerdings würde es mich immer noch sehr viel Zeit kosten, da ich in meiner eigentlichen Datei ca. 380 Spalten habe, die die Matrix spannen. D.h. das wären ziemlich viele Makrozeilen zu schreiben.
Um das Ganze auf die Beispieldatei umzumünzen: kann ich nicht einfach angeben, dass die Zellinhalte in der Range H10:H20 von Spalte H bis J mit den Werten H$9 (I$9 etc.) ersetzt werden sollen? Das würde mir viel Schreiberei im Makro ersparen.
Nochmal besten Dank für die Unterstützung.

Anzeige
mit einer Schleife ...
30.05.2014 17:51:55
Matthias
Hallo
Private Sub CommandButton1_Click()
Dim RnG As Range
For Each RnG In Range("H10:J20").SpecialCells(xlCellTypeConstants, 23)
With RnG
.Value = Cells(9, .Column)
End With
Next
MsgBox "fertig"
End Sub
Gruß Matthias

348 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige