Arrays

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox


Excel-Version: 8.0 (Office 97)
  • Arrays von Tam vom 26.06.2002 - 10:09:54
nach unten

Betrifft: Arrays
von: Tam
Geschrieben am: 26.06.2002 - 10:09:54

Hallo ich möchte gerne ein Makro schreiben, dass einen Inhalt von einer Zelle mit den Inhalten von einer ganzen Spalte vergleicht. Dafür wollte ich ein Array aufbauen, in dem die Zelleninhalt der Spalte liegen sollen.
Die Syntax für ein Array lautet:
Name_des_Arrays = Array ("Elemente1", "Element2", "Element3")
als Element möchte ich jetzt aber eine Zelle der Exceltabelle direkt ansprechen. Wie mache ich das?

nach oben   nach unten

Re: Arrays
von: Hans W. Herber
Geschrieben am: 26.06.2002 - 10:15:04

Hallo Tam,

die Vorgehensweise wäre bei anderen Programmiersprachen richtig, in Excel verkompliziert und verlangsamt sie die Ergebnisermittlung. Nach Möglichkeit sind Excel-Features heranzuziehen, da sie in der Regel - nicht immer - schneller als VBA sind:


Sub Vergleich()
   Dim var As Variant
   var = Application.Match(Range("A1").Value, Columns(2), 0)
   If IsError(var) Then
      MsgBox "Suchbegriff wurde nicht gefunden!"
   Else
      MsgBox "Der Suchbegriff befindet sich in Zeile " & var
   End If
End Sub

hans

nach oben   nach unten

Re: Arrays
von: sam
Geschrieben am: 26.06.2002 - 10:15:26

Hi,

du kannst es auch ohne Array machen.
In diesem Beispiel wird der Bereich "A1:A100" mit "B1" verglichen.

lg,
Sam


Sub vergleich()
  Dim As Range, bereich As Range
  Set bereich = Range("A1:A100")
  
  For Each r In bereich.Cells
    If r = Range("B1") Then
      MsgBox "Gefunden"
      Exit For
    End If
  Next r
End Sub

nach oben   nach unten

Re: Arrays
von: Tam
Geschrieben am: 26.06.2002 - 10:54:30

Hallo Sam!

Vielen Dank für die Lösung!
Der Vergleich funktioniert, doch ich habe da ein weiteres Problem was dadurch nicht gelöst wird. Ich vergleiche den Inhalt von "B1" mit der Spalte A (die chronologisch aufgebaut ist) auf kleiner als, wenn ich in der Spalte A einen Wert gefunden haben der kleiner als B1 ist, soll er sich diese Zeile merken und von dieser Zeile aus einen Vergleich fortsetzen mit dem Wert aus "B2". Wie kann ich mir die Zeile merken?


nach oben   nach unten

Re: Arrays
von: Tam
Geschrieben am: 26.06.2002 - 12:59:33

Vielen Dank Hans!
Ich brauche aber für mein Programm die Lösung mit dem Array.
Wie geht das?
Und wie wuerde deine Lösung aussehen, wenn ich den Vergleich nicht auf "==" mache, sonder auf ">=" oder "<="?

 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Arrays"