Excel Makro : Erst prüfen bei erfolgreicher IF einen Wert überschreiben
Guten Tag allerseits,
ich hab heute festgestellt das Datenbanken + Programm + kein Konzept viel Arbeit bedeutet-.-
Nun zur Thematik:
Ich versuche eine Abfrage zu gestalten wo eine Spalte durchlaufen werden soll und bei jedem Unbekannten Wert soll dieser Wert überschrieben werden mit einem Wert aus einer anderen Tabelle. Unten bekommt ihr Screens.
Bisher haut er mir bei Zeile 16 Methode "range" für das Objekt ist fehlgeschlagen.
Viele Grüße,
Matze
ich hab heute festgestellt das Datenbanken + Programm + kein Konzept viel Arbeit bedeutet-.-
Nun zur Thematik:
Ich versuche eine Abfrage zu gestalten wo eine Spalte durchlaufen werden soll und bei jedem Unbekannten Wert soll dieser Wert überschrieben werden mit einem Wert aus einer anderen Tabelle. Unten bekommt ihr Screens.
Bisher haut er mir bei Zeile 16 Methode "range" für das Objekt ist fehlgeschlagen.
Sub Makro1()
'
' Makro1 Makro
'
'
Dim x As Integer 'hochzählvar der tab1
Dim c As String 'Vergleichsvariable
Dim y As Integer 'Kopieren der NR
Dim z As Integer 'hochzählvar der tab2
Dim b As String 'Übergabe String
Sheets("01.01.16").Select
While (x < 1500)
c = Range("B(x)").Value
If (c <> "(Unbekannt)") Then
x = x + 1
Else
y = Range("A(x)").Select
Sheets("Tabelle2").Select
While (y <> Range("A(z)"))
z = z + 1
b = Range("A(z)").Select
Sheets("01.01.16").Select
Range("Bx").Select = b
Wend
End If
Wend
End Sub
Viele Grüße,
Matze
Please also mark the comments that contributed to the solution of the article
Content-Key: 305249
Url: https://administrator.de/contentid/305249
Printed on: April 26, 2024 at 13:04 o'clock
4 Comments
Latest comment
Da sind ja auch jede Menge Fehler drin
Ohne das ganze überflüssige gedöns, machst du das so
Mit Range.Find ließe sich das übrigens alternativ auch noch schneller machen.
Gruß skybird
Ohne das ganze überflüssige gedöns, machst du das so
With Sheets("01.01.16")
for each cell in .Range("B2:B" & .Cells(Rows.Count,"B").End(xlUp).Row)
if cell.Value = "(Unbekannt)" then
cell.Value = Sheets("Tabelle2).Cells(cell.Row,2).Value
end if
Next
End with
Gruß skybird