VBA Zellberechnung
Achim
habe ein Problem
Es werden regelmäßig Preislisten per Makro aus dem Internet abgefragt.
Der Aufbau ist eigentlich immer gleich bis auf einen kleinen Unterschied. Das Wort Standard
Wenn Standart" in Zelle A8 steht klappt es mit nachfolgendes Makro welches ich mit dem Macrorecorder hergestellt habe, und die Zellen werden entsprechend bearbeitet.
Range("F11:G11").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Columns("H:I").Select
Selection.Delete Shift:=xlToLeft
ActiveSheet.Cells.Hyperlinks.Delete
Range("B14:H42").Value = Application.Substitute(Range("B14:H42").Value, "", "")
Range("B14:H42").NumberFormat = "#,##0.00 $"
Steht Standard " aber z.B. in A11 klappt das nicht mehr. Dann müsste das eigentlich so aussehen
Range("F17:G17").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Columns("H:I").Select
Selection.Delete Shift:=xlToLeft
ActiveSheet.Cells.Hyperlinks.Delete
Range("B17:H45").Value = Application.Substitute(Range("B17:H45").Value, "", "")
Range("B17:H45").NumberFormat = "#,##0.00 $"
Das ganze soll als Makro ausgeführt werden so das das in allen Tabellen (ca. 910) funktioniert.
Leider verändert sich die Position von Standard innerhalb einer Tabelle von Tag zu Tag
Der Aufbau der Tabellen, die Anzahl der Spalten unterhalb der zu bearbeitenden Felder ist immer gleich nur das Wort Standard rutscht mal auf A8 oder A22 oder A7 usw. und die nachfolgenden Zellen entsprechend nach unten oder oben.
Mann müsste also die Position auszählen und den wert zu den Zellwerten addieren, so dass es kein fester Wert sonder ein relativer Wert wird.
Mit folgendem versuch konnte ich zumindest schon mal feststellen wo Standard steht.
Dim OB As Integer, UT As Integer
OB = 6 & i
UT = 7 & i
For i = 1 To 65000 Step 1
If Range("A" & i).Value = "Standard" Then
MsgBox "Standard steht in Zelle: " & i
Range(Cells(OB), Cells(UT)).Select
Exit Sub
End If
Next i
Ich hoffe jemand kann helfen.
Danke schon mal im voraus