Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1132to1136
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

VBA Zellberechnung

VBA Zellberechnung
Achim
Hallo Leute
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

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: VBA Zellberechnung
31.01.2010 10:59:47
Josef
Hallo Achim,

ungetestet!

Sub achim()
  Dim vntRet As Variant
  
  With ActiveSheet
    vntRet = Application.Match("Standard", .Columns(1), 0)
    If IsNumeric(vntRet) Then
      .Range(.Cells(vntRet + 3, 6), .Cells(vntRet + 3, 7)).Insert Shift:=xlDown, _
        CopyOrigin:=xlFormatFromLeftOrAbove
      .Columns("H:I").Delete Shift:=xlToLeft
      .Hyperlinks.Delete
      With .Range(.Cells(vntRet + 6, 2), .Cells(vntRet + 6, 8))
        .Value = Application.Substitute(.Value, "€", "")
        .NumberFormat = "#,##0.00 $"
      End With
    End If
  End With
  
End Sub

Gruß Sepp

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige