Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1864to1868
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Formeln in bestimmten Zeilen in Werte

Formeln in bestimmten Zeilen in Werte
18.01.2022 08:51:06
Max
Hallo liebe Excel- und VBA-Profis,
seit einiger Zeit versuche ich schon ein VBA zu programmieren - doch trotz vieler Versuche und Recherche in diesem Forum habe ich es noch nicht hinbekommen.
Hier erstmal meine Rohdatei:
https://www.herber.de/bbs/user/150465.xls
In Spalte A ziehen sich Nummern aus einer anderen Datei, wenn dort eine bestimmte Bedingung erfüllt wird. Anschließend füllen sich Spalten B-K automatisch mit Daten aus einer anderen Datei. Spalte Q ist eine Hilfsspalte, in der eine "0"/"x" erscheint, wenn Spalte A leer/befüllt ist. Nun zu meinem Wunsch-Makro: Dieses sollte auf Knopfdruck die Formeln in den Zeilen Werte umwandeln, wenn in Spalte Q in der entsprechenden Zeile in "x" drin ist.
Aktuell habe ich folgende Makros:
Makro 1:

Sub ZeilenMarkieren()
Dim GefBer As Range
Dim SuchBer As Range
Dim SucheNach
Dim Z As Range
SucheNach = "x"
Set SuchBer = Range("Q1:Q" & Columns("Q").EntireColumn.Find("*", searchdirection:=xlPrevious).Row)
For Each Z In SuchBer.Cells
If Z.Value = SucheNach Then
If GefBer Is Nothing Then
Set GefBer = Range(Cells(Z.Row, 1), Cells(Z.Row, 11))
Else
Set GefBer = Application.Union(GefBer, Range(Cells(Z.Row, 1), Cells(Z.Row, 11)))
End If
End If
Next Z
If Not GefBer Is Nothing Then GefBer.Select
End Sub
Makro 2:

Sub Festschreiben()
Dim rngBereich As Range
Set rngBereich = Selection
rngBereich.Value = rngBereich.Value
End Sub
Makro 3:

Sub AlleMakrosAusführen()
Call ZeilenMarkieren
Call Festschreiben
End Sub
Leider funktioniert das zweite Makro nicht wie gewünscht: Entweder es kommt eine Fehlermeldung mit "Das ist bei einer Mehrfachauswahl nicht möglich" (Kopieren und als Werte wieder einfügen) oder untere Zeilen werden mit Daten aus oberen Zeilen befüllt.
Hat von euch vielleicht jemand eine funktionierende (und vielleicht schönere) Lösung?
Danke bereits im Voraus!
LG
Max

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formeln in bestimmten Zeilen in Werte
18.01.2022 09:55:28
migre
Hallo Max!
Deine Bsp-Datei ist fehlerhaft und hat (bei mir) nicht funktioniert. Ich habe verstanden, dass Du auf einem Blatt (bei mir [Tabelle1]) alle Zellen aus Q1:Qx (x = letzte gefüllte Zelle in Q:Q) durchlaufen willst und wenn in der jeweiligen Zelle ein "x" steht, werden die Formeln By:Ky in Werte getauscht, wobei y der jeweils durchlaufenen Zeilennummer in Q:Q entspricht; das geht zB so:

Sub a()
Dim Wb As Workbook: Set Wb = ThisWorkbook
Dim Ws As Worksheet: Set Ws = Wb.Worksheets("Tabelle1")
Dim c As Range, r As Range
With Ws
For Each c In .Range("Q1:Q" & .Cells(.Rows.Count, "Q").End(xlUp).Row)
If c.Value = "x" Then
Set r = .Range(.Cells(c.Row, "B"), .Cells(c.Row, "K")): r.Value = r.Value
End If
Next c
End With
Set Wb = Nothing: Set Ws = Nothing: Set c = Nothing: Set r = Nothing
End Sub
Beachte: Blattnamen musst Du ggf. anpassen.
LG Michael
Anzeige
AW: Formeln in bestimmten Zeilen in Werte
18.01.2022 11:47:00
Max
Hallo Michael,
trotz der dysfunktionalen Datei genau verstanden, worum es ging und dann noch einen funktionierenden (und definitiv schöneren) Code mitgeliefert - vielen Dank dafür!
LG
Max
Gerne, Danke für die Rückmeldung! owT
18.01.2022 11:56:38
migre

309 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige