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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 305249
Url: https://administrator.de/contentid/305249
Ausgedruckt am: 23.11.2024 um 04:11 Uhr
4 Kommentare
Neuester Kommentar
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