Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
720to724
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
720to724
720to724
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Alle Zellen einer Reihe durchsuchen

Alle Zellen einer Reihe durchsuchen
18.01.2006 16:40:59
Louis
Hallo Forum,
ich bräuchte noch mal Eure Hilfe.
Es soll eine Spalte nach einem Wert durchsucht werden, der in Zelle A6 zu finden ist. Ist dieser gefunden möchte ich die Zelle anzeigen. Wie bekomme ich die Adresse der gefunden Zelle raus ?
Der Makro den ich mir zusammengebaut habe läuft nicht.

Sub test()
Dim Cellen As Range
For Each Cellen In Range("B1:B150")
If Cellen.Value = Cells(1, 6).Value Then
b = Cellen.Rows
Cells(b, 1).Select
End If
Next Cellen
End Sub

Für einen Tip wäre ich sehr dankbar.
mfg
Louis

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Alle Zellen einer Reihe durchsuchen
18.01.2006 16:43:25
Horst

Sub test()
Dim Cellen As Range
For Each Cellen In Range("B1:B150")
If Cellen.Value = Cells(1, 6).Value Then
Cellen.Select
exit for
End If
Next Cellen
End Sub

mfg Horst
AW: Alle Zellen einer Reihe durchsuchen
18.01.2006 16:44:04
Josef
Hallo Louis!
Mach's so!
Sub test()
Dim rng As Range

Set rng = Range("B1:B150").Find(Cells(1, 6))

If Not rng Is Nothing Then
  Application.Goto rng, False
Else
  MsgBox Cells(1, 6).Text & vbLf & "wurde nicht gefunden"
End If

End Sub


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

Anzeige
AW: Alle Zellen einer Reihe durchsuchen
18.01.2006 17:23:53
et999
Hi Louis,
ich hab Dein Makro mal ein bisschen repariert, damit Du siehst wo die (vier)Fehler waren:

Sub test()
Dim b As Integer
Dim Cellen As Range
For Each Cellen In Range("B1:B150")
If Cellen.Value = Cells(6, 1).Value Then
b = Cellen.Row
Cells(b, 2).Select
End If
Next Cellen
End Sub

So müsste jetzt auch Dein Ansatz laufen. Horst und Sepp haben es natürlich eleganter gelöst.
Gruß
Uwe
(:o)
AW: Alle Zellen einer Reihe durchsuchen
18.01.2006 17:37:50
Louis
Hallo Horst,
Hallo Josef,
erst ein mal vielen Dank für Eure Antwort, beide Codes laufen einwandfrei (hätte mich auch gewundert wenn nicht) durch.
Aber was ist wenn ich nun die Reihe in der die Zelle gefunden wurde haben möchte?
Ich bin noch ein zarter Anfänger baue mir die Codes learning by doing zusammen.
Wenn ich den Code folgendermaßen veränder habe ich das gleich Problem wie vorher.
Wieso? Ich habe doch die gefundene Zelle selectiert. Wieso wird der gefundene Zellenwert in die Anzahl der Reihen umgewandelt? Bin im Moment etwas vernagelt.

Sub test()
Dim Cellen As Range
For Each Cellen In Range("B1:B150")
If Cellen.Value = Cells(1, 6).Value Then
Cellen.Select
b = ActiveCell.Rows
Cells(b, 3).Copy
Cells(1, 7).PasteSpecial
Exit For
End If
Next Cellen
End Sub

Wie kann ich die gefundene Zelle in Reihen bzw Spalten - Variablen umwandeln?
Danke noch mal an alle hier 1a Forenarbeit.
mfg
Louis
Anzeige
AW: Alle Zellen einer Reihe durchsuchen
18.01.2006 17:41:01
Josef
Hallo Louis!
Gewöhn dir das Selectieren erst gar nicht an!
Schau dazu auch mal in die XLBasics https://www.herber.de/xlfaq/xlbasics/main_sel.htm
Sub test()
Dim rng As Range

Set rng = Range("B1:B150").Find(Cells(1, 6))

If Not rng Is Nothing Then
  Cells(rng.Row, 3).Copy Cells(1, 7)
Else
  MsgBox Cells(1, 6).Text & vbLf & "wurde nicht gefunden"
End If

End Sub


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

Anzeige
AW: Alle Zellen einer Reihe durchsuchen
18.01.2006 19:43:45
Louis
Hallo Josef,
prima und natürlich ein herzliches Dankeschön.
Wie gesagt ich versuche mir das ganze halt selbst ein bischen beizubringen. Und da ist es am Anfang halt nicht ganz einfach das ganze ohne zu selectieren hinzubekommen.
Es ist ja auch der Grund meines Codes endlich mal von den ganzen IF-Else Anweisungen weg zu kommen. Ich versuche auch halt immer erst in der Recherche fündig zu werden und mir den Code, den ich meine gebrauchen zu können, so auseinander zu pflücken bis es passt. Aber leider geht das ohne Eure Hilfe hier leider nicht immer. Wenn Du Lust hast und Du dies hier überhaupt noch liesst kannst Du ja auch hier noch einmal drüber gucken.
Ich habe das mit Eurer Hilfe hinbekommen das was ich darasu gemacht habe ist trozdem nicht sehr elegant.
Nochmal vielen Dank an Dich und alle anderen hier im Forum
Louis
Hallo Forum,
ich habe mir jatzt mal was gebastelt was zwar funzt aber naja.
Der erste Code kommt in die erste Tabelle in der ich den zu suchenden Wert defeniere und dieser wird in die ertse Zelle kopiert.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells(1, 1).Value = ActiveCell.Value
End Sub

Der zweite Code wie gehabt nur dieses mal ohne AktiveCell sondern klar deklariert als erste Zelle im ersten Blatt.
Sub TEinAuswertungLöschen()
x = 11
weiter:
If Sheets("Auswertung").Cells(x, 2).Value = Sheets("Datenbank").Cells(1, 1).Value Then
Sheets("Auswertung").Rows(x).Delete
Else
x = x + 1
GoTo weiter
End If
End Sub
Wie gesagt funktioniert soweit ist aber nicht sehr elegant. Bin mir sicher das es besser geht wenn noch jemand eine Idee hat würde ich mich sehr freuen.
mfg
Louis
Anzeige
AW: Alle Zellen einer Reihe durchsuchen
18.01.2006 20:30:35
Josef
Hallo Louis!
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
varValue = ActiveCell.Value
End Sub


' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit
Public varValue As Variant

Sub TEinAuswertungLöschen()
Dim lngRow As Long, lngLast As Long

If varValue = vbNullString Then Exit Sub

With Sheets("Auswertung")
  
  lngLast = .Cells(Rows.Count, 2).End(xlUp).Row 'letzte gefüllte Zeile in Spalte "B"
  
  If lngLast < 11 Then lngLast = 11
  
  For lngRow = 11 To lngLast
    If .Cells(lngRow, 2) = varValue Then
      .Rows(lngRow).Delete
    End If
  Next
  
End With

End Sub


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

Anzeige
AW: Alle Zellen einer Reihe durchsuchen
18.01.2006 21:53:10
Louis
Boa,
vielen Dank
aber da brauch ich jetzt erst mal was für
mfg
Louis

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige