Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
696to700
696to700
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Spaltenwerte mit einem Zellenwert vergleichen

Spaltenwerte mit einem Zellenwert vergleichen
22.11.2005 16:50:06
Thias
Mahlzeit!
Ich habe schon reichlich mit der Recherche-Funktion recherchiert, aber leider nichts passendes gefunden!
Ich suche ein VBA Makro, dass mir aus 100 Werten in Spalte A diejenigen Werte in Spalte B (z.B. ab Zeile 11) kopiert, die größer sind, als ein berechneter Wert in Zelle C1.
Die Spezialfilterfunktion habe ich mir zwar auch schon angeschaut, nur habe ich es damit auch nicht hinbekommen (falls es damit überhaupt geht). Ausserdem würde ein Macro natürlich auch bequemer zu bedienen sein.
Falls jemand so ein Macro aus dem Ärmel schütteln könnte, würde mir das sehr weiterhelfen.
Gruß Thias

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spaltenwerte mit einem Zellenwert vergleichen
22.11.2005 17:03:28
Unbekannter
Kein Act,nur kann ich aus "z.B." kein Makro machen also musst du es so erklären wie du es genau haben willst.
Gruß UN1
AW: Spaltenwerte mit einem Zellenwert vergleichen
22.11.2005 17:14:31
Josef
Hallo Thias!
Probier mal!
Sub copyValues()
Dim varValues() As Variant
Dim rng As Range
Dim n As Integer

With Sheets("Tabelle2")
  .Range("B11:B111").ClearContents
  For Each rng In .Range("A1:A100")
    If rng > .Range("C1") Then
      Redim Preserve varValues(n)
      varValues(n) = rng.Value
      n = n + 1
    End If
  Next
  If n > 0 Then .Range("B11:B" & UBound(varValues) + 11) = Application.Transpose(varValues)
End With

End Sub


'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
AW: Spaltenwerte mit einem Zellenwert vergleichen
23.11.2005 11:52:27
Thias
Hallo Sepp,
nach ein paar kleinen Anpassungen bezüglich der für mich benötigten Spalten, Zeilen und Worksheets funktioniert das Makro ganz hervorragend und auch genau so, wie ich es mir vorgestellt habe. Vielen Dank für die super Vorlage!
Unten habe ich das Makro angefügt, wie ich es für mich abgeändert habe. Die Kommentare habe ich mir so zusammengeschustert, wie ich das Makro verstanden habe. Falls Du es mir noch ein wenig besser kommentieren könntest, würde ich mich freuen. Falls Du dazu keine Lust hast - macht auch nix. Es funktioniert ja tadellos.
Gruß Thias

Sub copyValues()
Dim varValues() As Variant      'Variablendeklaration: varValues als variabler Bereich
Dim rng As Range                'Variablendeklaration: rng als Feld
Dim n As Integer                'Variablendeklaration: n als Integervariable
With Sheets("Polynome")                 'Festlegung des zu nutzenden Arbeitsblatts
.Range("B11:B5000").ClearContents     'evtl. vorhandene Werte im angegebenen Bereich von Spalte B
'werden zuerst geleert
For Each rng In .Range("D11:D5000")   'Schleife: weise für jeden Durchlauf D11 (+1) rng zu, bis
'D5000 erreicht ist
If rng > .Range("I9") Then          'Wenn Wert in rng > Wert in Feld Range, dann...
ReDim Preserve varValues(n)         'Reserviere Speicherplatz für Wert n in Feld varValues
varValues(n) = rng.Value          'Kopiere Wert aus rng an Stelle n von Feld varValues
n = n + 1                         'Variable n um Eins erhöhen (in Java n++)
End If                              'Ende der If-Bedingung
Next                                  'zurück zum Schleifenkopf
If n > 0 Then .Range("I11:I" & UBound(varValues) + 11) = Application.Transpose(varValues)
'Wenn mind. ein Wert größer war als in I9 vorgegeben, kopiere die Werte nach I11
'und forlaufend
End With
End Sub

Anzeige
Deinen Kommentaren ist nichts hinzuzufügen! o.T.
23.11.2005 16:31:59
Josef
Gruß Sepp

391 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige