Microsoft Excel

Herbers Excel/VBA-Archiv

Formel wenn Wert gefunden überschreiben


Betrifft: Formel wenn Wert gefunden überschreiben von: Marc
Geschrieben am: 25.09.2019 10:09:46

Guten Morgen , ich brauche nochmal eure Hilfe . Ich habe eine relativ große Datei mit 12 unterschiedlichen
Tabellen und jeder Menge Sverwiesen . Jeder Sverweiss gibt mir denn Buchstaben X wieder wenn der Wert nicht gefunden wird . Besteht per VBA die Möglichkeit automatisch wenn der Wert gefunden worden ist den Sverweiss mit dem festen Wert zu überschreiben ? Wenn X wiedergegeben wird soll der Sverweiss bestehen bleiben . Das ganze sollte sich auf alle Tabellenblätter beziehen bis auf Spalte E&F in Tabelle 1 . Würde mich sehr über Hilfe freuen habe leider im Netz nichts gefunden und sämtliche Versuche sind leider gescheiter .

  

Betrifft: AW: Formel wenn Wert gefunden überschreiben von: Rudi Maintaire
Geschrieben am: 25.09.2019 12:29:23

Hallo,
kann so aussehen:

Sub aaa()
  Dim wks As Worksheet, rngF As Range, rngC As Range
  Dim lngCALC As Long
  With Application
    lngCALC = .Calculation
    .Calculation = xlCalculationManual
    .ScreenUpdating = False
  End With
  For Each wks In Worksheets
    On Error Resume Next
    Set rngF = wks.Cells.SpecialCells(xlCellTypeFormulas)
    On Error GoTo 0
    If Not rngF Is Nothing Then
      For Each rngC In rngF
        If Left(rngC.Formula, 8) = "=VLOOKUP" Then
          If rngC.Value <> "x" Then
            If wks Is Sheets("Tabelle1") Then 'Tabelle1
              Select Case rngC.Column
                Case 5, 6       'E/ F
                'nix
                Case Else
                  rngC.Value = rngC.Value
              End Select
            Else
              rngC.Value = rngC.Value
            End If
          End If
        End If
      Next rngC
    End If
  Next wks
  Application.Calculation = lngCALC
End Sub

Gruß
Rudi


  

Betrifft: AW: Formel wenn Wert gefunden überschreiben von: Rudi Maintaire
Geschrieben am: 25.09.2019 12:30:09

Hallo,
kann so aussehen:

Sub aaa()
  Dim wks As Worksheet, rngF As Range, rngC As Range
  Dim lngCALC As Long
  With Application
    lngCALC = .Calculation
    .Calculation = xlCalculationManual
    .ScreenUpdating = False
  End With
  For Each wks In Worksheets
    On Error Resume Next
    Set rngF = wks.Cells.SpecialCells(xlCellTypeFormulas)
    On Error GoTo 0
    If Not rngF Is Nothing Then
      For Each rngC In rngF
        If Left(rngC.Formula, 8) = "=VLOOKUP" Then
          If rngC.Value <> "x" Then
            If wks Is Sheets("Tabelle1") Then 'Tabelle1
              Select Case rngC.Column
                Case 5, 6       'E/ F
                'nix
                Case Else
                  rngC.Value = rngC.Value
              End Select
            Else
              rngC.Value = rngC.Value
            End If
          End If
        End If
      Next rngC
    End If
  Next wks
  Application.Calculation = lngCALC
End Sub

Gruß
Rudi


Beiträge aus dem Excel-Forum zum Thema "Formel wenn Wert gefunden überschreiben "