Visual Basic - Bereich durchsuchen und Zellen auswerten
#1
Hallo zusammen,

ich habe gerade ein Brett vor dem Kopf...

Ich würde gerne mit Visual Basic einen Bereich ("A1:M999") durchsuchen und wenn eine Zelle den Wert "44" enthält, soll diese Zelle mit den zwei darauffolgenden Zellen verbunden werden.
Beispiel:
20 08 44 56 43 00 0A 10 11
Die "44" wird erkannt dann soll er die drei Zellen miteinander verbinden -> 445643. Ergibt dieses Ergebnis dann auch 445643 dann soll gesprungen werden.
Ist dieser Wert ungleich 445643, dann soll er weiter suchen nach 44 56 43 usw.

Kann mir jemand da helfen?!?

Besten Dank schonmal!!!
Top
#2
Hallo,

sry, aber ich verstehe leider nur Bahnhof.

Gruß Werner
Top
#3
Hi,

ich möchte, dass die Formel nach dem Inhalt "44" einer Zelle im Bereich A1:M999 sucht.
Wurde eine Zelle mit dem Inhalt 44 gefunden, soll geguckt werden ob die Zelle rechts daneben eine 56 enthält, ist das ebenfalls der Fall dann soll geguckt werden, ob rechts neben der 56 eine 43 steht.
Tritt dieser Fall nicht ein, soll weiter gesucht werden.
Diese drei Zahlen müssen nebeneinander in der Excel Tabelle stehen.

Ich hoffe ich habe es diesmal verständlicher geschrieben.
Top
#4
Fl0ri4n,

und was dann?
Dient es nur dem Selbstzweck ("Da ist etwas") oder soll dann etwas passieren ("Fanfaren ertönen")?
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Top
#5
Hallo,

beispielsweise so, wobei du ja nicht verraten hast, was den passieren soll, wenn diese Zahlenkombination vorgefunden wird. Der Code färbt den entsprechenden Bereich deshalb einfach gelb und gibt in einer Messagbox aus, wie oft diese Zahlenkombi im Bereich vor kommt.

Code:
Public Sub aaa()
Dim raBereich As Range
Dim raZelle As Range
Dim loCounter As Long

With Worksheets("Tabelle1") 'Blattname anpassen
   Set raBereich = .Range(.Cells(1, 1), .Cells(999, 13))
       For Each raZelle In raBereich
           If raZelle.Value = 44 Then
               If raZelle.Offset(, 1) = 56 Then
                   If raZelle.Offset(, 2) = 43 Then
                       raZelle.Resize(, 3).Interior.Color = vbYellow
                       loCounter = loCounter + 1
                   End If
               End If
           End If
       Next raZelle
End With

MsgBox "Die Zahlenkombination" & vbLf _
& "        44 56 43" & vbLf _
& "kommt " & loCounter & " mal vor."
End Sub


Gruß Werner
Top
#6
Moin,

danke für deine Antwort. Ich werde das gleich mal ausprobieren.

Was dann passieren soll?!? Er soll einfach zu einem anderen, schon bestehen und funktionierenden Programmabschnitt springen und diesen dann durchlaufen.
Top
#7
Fl0ri4n,

also reicht eine Function ZahlenkombinationIstVorhanden (True/False).
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Top
#8
Moin,

@Werner, es funktioniert einwandfrei :28:
Danke!
[-] Folgende(r) 1 Nutzer sagt Danke an Fl0ri4n für diesen Beitrag:
  • Werner.M
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste