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 Wort finden und Nachbarzellen Werte anzeigen
#1
Hallo,

in A habe ich untereinander mehrere Begriffe.  Jetzt wechseln sich ständig die Position der Begriffe z.B der Begriff Auto steht mal bei A1 und mal bei A2 oder A130.

Nun möchte ich gerne das wenn in der Tabelle das Wort Auto gefunden wird die beiden Nachbarzellen B und C  in Textbox1 und textbox2 angezeigt wird.

Vielelicht kann mir hier jemand helfen.

Gruß

Stephan
Antworten Top
#2
Hallo Stephan,
TextBox1 = Application.VLookup("Auto", Range("A:C"), 2, 0)
TextBox2 = Application.VLookup("Auto", Range("A:C"), 3, 0)
Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • 89stephan89
Antworten Top
#3
Hi Stephan,

muss es unbedingt VBA sein?

Mein Vorschlag für eine Formellösung:

Tabelle4

ABCDEFGH
1BegriffeZusatz1Zusatz2gesucht:Autoparkenwaschen
2FahrradfahrenSchlauch flicken
3
4Autoparkenwaschen
5
6
7Mopedtankenpflegen
8Flugzeugfliegenenteisen
Formeln der Tabelle
ZelleFormel
G1=INDEX($A$1:$C$23;VERGLEICH($F1;$A:$A;0);SPALTE(B1))
H1=INDEX($A$1:$C$23;VERGLEICH($F1;$A:$A;0);SPALTE(C1))

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#4
(25.05.2016, 08:41)Kuwer schrieb: Hallo Stephan,
TextBox1 = Application.VLookup("Auto", Range("A:C"), 2, 0)
TextBox2 = Application.VLookup("Auto", Range("A:C"), 3, 0)
Gruß Uwe
Vielen Dank.
Genau das was ich gesucht habe und es läuft. Super echt Klasse.
Antworten Top
#5
Hallo,

der VBA Code von Kuwer läuft gut .
TextBox1 = Application.VLookup("Auto", Range("A:C"), 2, 0)

Allerdings kann die Bezeichnung Auto öfters in Spalte A vorkommen mit unterschiedlichen Werten in der Nachbarzelle.

Habe den Code ein bisschen umgebaut, hat aber leider nicht funktioniert mit Application.VLookup.

Beispiel:
A:               B:(Nachbarzelle)
Auto            1      
Auto            2        
Auto            3          

Die Zahlen sollen in drei verschiedene Textboxen eingelesen werden wenn die Bezeichnung in A stimmt.
Ist die Bezeichnung nicht vorhanden soll eine 0 in den Textboxen stehen.

Die Bezeichnungen sind mal in A1 mal in A12 usw. immer unterschiedlich.

MfG
Stephan
Antworten Top
#6
Hallo Stephan,

schreib es so in der Tabelle (Die Bezeichnung in Spalte A darf nur einmal vorkommen, sonst funktioniert SVERWEIS (VLOOKUP) so nicht):

PHP-Code:
A    B    C    D:
Auto   1      2      3 

Code:
TextBox1 = Application.VLookup("Auto", Range("A:D"), 2, 0)
TextBox2 = Application.VLookup("Auto", Range("A:D"), 3, 0)
TextBox3 = Application.VLookup("Auto", Range("A:D"), 4, 0)

Gruß Uwe
Antworten Top
#7
Hallo Uwe,

das ist zwar eine gute Idee, aber ich kopiere den Inhalt einer PDF Datei in einer Multiline Textbox.
Jetzt nimm alles automatisch seinen lauf.
Der Inhalt geht in die Tabelle . Alles in Spalte A.
Jetzt verwende ich Trennen mit Spalten nach Leerzeichen.

Auto steht nun in A und Wert in B

Dies ist eine Beispiel Bezeichnung und die kommt öfters vor in A.





Danke für die Antwort, würde zwar funktionieren aber nicht in meinem Fall.
Antworten Top
#8
Hallo Stephan,

(27.06.2017, 13:30)89stephan89 schrieb: Dies ist eine Beispiel Bezeichnung und die kommt öfters vor in A.

was heißt öfters genau? Maximal 3 wie die Anzahl Textboxen oder auch mehr?

Gruß Uwe
Antworten Top
#9
Hallo Uwe,

Der PDF Inhalt wird als erstes in mehreren Multiline Textboxen aufgeteilt die in verschiedene Arbeitsblätter gehen.


Da in der Teilrechnung das Wort Summe Rechnung öfters vorkommt und bei den Valuten steht auch Summe Rechnung.
Die dürfen nicht zusammen aufgeführt werden . Deswegen wird es erstmal aufgeteilt.




Da es verschiedene Rechnungen sind kommen diese Bezeichnungen auch unterschiedlich oft vor. 

Bei der Teilrechnung bis  zu 3 mal und bei den Valuten kann es auch schon öfters vorkommen.

Habe bestimmt 500 Textboxen.


Gruß
Stephan
Antworten Top
#10
Hallo Stephan,

vieleicht so?
Private Sub CommandButton1_Click()
 Dim i As Long, j As Long
 Dim strB As String
 Dim varL As Variant
 
 strB = "Auto"
 varL = Worksheets("Tabelle1").Range("A1").CurrentRegion.Resize(, 2).Value
 
 For i = LBound(varL) To UBound(varL)
   If varL(i, 1) = strB Then
     j = j + 1
     Controls("TextBox" & j) = varL(i, 2)
   End If
 Next i
End Sub
Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • 89stephan89
Antworten Top


Gehe zu:


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