Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA - Wert aus Zelle in Spalte suchen und markieren
#1
Einen schönen Sonntag wünsche ich  :)

Ich würde gern folgende Suche als VBA gestalten:

Der Wert aus Zelle CB7 soll in Spalte B gesucht und markiert werden.

Ich finde alle möglichen Suchkonstellationen im Netz. Aber jedesmal wird dort direkt im Code der Suchwert eingegeben. 
Mein Suchwert steht aber in einer Zelle.

Wie setzt man das am besten um?

Viele Grüße
Klaus
Antworten Top
#2
Warum muss das mit VBA Markiert werden und nicht mit Bedingter Formatierung ?
Eine Menge reden, aber nichts sagen können viele...
Antworten Top
#3
Guten Abend Frogger,

...weil ein anderer Code auf dann gefundene Position zugreift und von dort weiter arbeitet (Zellen nach oben und rechts abzählt und kopierte Werte einfügt)...

viele Grüße
Klaus
Antworten Top
#4
Hallo Klaus,

das ist aber ein völlig unnötiger Umweg, das ist wie jemanden anzurufen um ihm mitzuteilen, dass man ihm eben eine Email geschrieben hat.
Mit VBA Zellen zu markieren kann man sich in 99,99 % aller Fälle sparen. Zeig doch mal deinen Code, der mit dem gesuchten weiterarbeiten soll. In den kann man den Suchcode einfach einbauen.
Und beschreibe außerdem, in welcher Zelle der Suchbegriff steht.
Schöne Grüße
Berni
Antworten Top
#5
Hallo Mr. Burns,

vielen Dank für deine Hilfe.

Jo, in diesem Fall besteht der Ablauf aus mehreren Modulen welche je nach Ereignis per Call aufgerufen werden.


Eine Variante ist jene.


Code:
ActiveCell.Value = ActiveCell.Offset(-1, 0) + 1

If [CI2] = 2 Then
Range("CV7:CV16").Copy
            ActiveCell.Offset(0, 13).PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
            False, Transpose:=True

Der Suchwert steht in Zelle CB7. Gesucht wird in Spalte B.

...nebenbei bemerkt ist mir das select nicht unwillkommen. Application Display steht auf false und so ist es eine einfache Weise den Timer, welcher auf der Datei liegt, bei jedem select neu zu aktivieren.
Antworten Top
#6
Na, dann geb ich dir einfach mal beide Möglichkeiten an die Hand:

Mit Select (bäh)

Code:
Sub Finden()
Set Treffer = Sheets("Tabelle2").Columns(2).Find(what:=Range("CB7"), lookat:=xlWhole)
If Not Treffer Is Nothing Then
   Treffer.Select
End If
End Sub


Ohne Select (bravo!)

Code:
Option Explicit
Public Treffer As Range

Sub Finden()
Set Treffer = Sheets("Tabelle2").Columns(2).Find(what:=Range("CB7"), lookat:=xlWhole)
If Not Treffer Is Nothing Then
   Call abc
End If
End Sub


Sub abc()
Cells(Treffer.Row, Treffer.Column).Value = Cells(Treffer.Row, Treffer.Column).Offset(-1, 0) + 1

If [CI2] = 2 Then
Range("CV7:CV16").Copy
            Cells(Treffer.Row, Treffer.Column).Offset(0, 13).PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
            False, Transpose:=True
End Sub
Treffer.Column könnte man natürlich auch durch "B" oder 2 ersetzen, allerdings finde ich es so variabler, falls sich die Suchspalte mal ändern sollte.
Schöne Grüße
Berni
[-] Folgende(r) 1 Nutzer sagt Danke an MisterBurns für diesen Beitrag:
  • Klaus
Antworten Top
#7
Funktioniert tadellos.  *rumfreu

Vielen vielen Dank

Liebe Grüße
Klaus
Antworten Top
#8
Hallo Klaus,

Zitat:If [CI2] = 2 Then
Range("CV7:CV16").Copy

wenn jede Menge Zellabfragen gemacht werden sollen, dann schlage ich vor,
Dir mal Select Case-Abfragen anzusehen. Das ist leichter zu handhaben als die
IF-Abfragen.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#9
Vielen Dank für den Tipp Käpt'n,
werde ich beherzigen.

Liebe Grüße
Klaus
Antworten Top


Gehe zu:


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