Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Msg Box mit Sverweis (später SQL)

Forumthread: Msg Box mit Sverweis (später SQL)

Msg Box mit Sverweis (später SQL)
Axel
Hallo,
ich habe mal wieder eine Frage zur Msg Box:
Wenn ein User in eine bestimmte Zelle klickt (in der Spalte stehen Kontonummern) möchte ich einen Sverweis mit dem Zellinhalt machen und das Ergebnis als MSG Box ausgeben.
Ist sowas möglich ?
""Sverweis(geklickte Zelle;Tabelle2!A:B;2;Falsch) -- Ergebnis als MSG Box""
Antwort wäre mal wieder Suuuuuper.
Axel
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Msg Box mit Sverweis (später SQL)
10.01.2011 11:08:11
Rudi
Hallo,
z.B.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 1 And Target.Count = 1 Then
MsgBox Application.VLookup(Target, Sheets("Tabelle2").Range("A:B"), 2, 0)
End If
End Sub

Gruß
Rudi
... =Target.Offset(, 1).Value
10.01.2011 11:12:44
Matthias
Hallo
Vielleicht gehts ja schon so:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 1 And Target.Count = 1 Then MsgBox Target.Offset(, 1).Value
End Sub
Gruß Matthias
Anzeige
AW: ... =Target.Offset(, 1).Value
10.01.2011 12:28:19
Axel
So holt er sich die richtige Kontonummer in die MSG Box - fehlt also "nur" noch der SVERWEIS
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 5 And Target.Count = 1 Then MsgBox Target.Offset(, 0).Value
End Sub

AW: Msg Box mit Sverweis (später SQL)
10.01.2011 11:55:59
Axel
Geht leider beides nicht - wenn ich in das Felder klicke (Spalte E / Zeile 8 - 1000)
Habe Zeile und Spalte angepasst:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 5 And Target.Count = 8 Then
MsgBox Application.VLookup(Target, Sheets("Grunddaten").Range("D:E"), 2, 0)
End If
End Sub

Anzeige
AW: Msg Box mit Sverweis (später SQL)
10.01.2011 12:59:17
Rudi
Hallo,
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("E8:E1000")) Is Nothing And Target.Count = 1 Then
MsgBox Application.VLookup(Target, Sheets("Grunddaten").Range("D:E"), 2, 0)
End If
End Sub

Gruß
Rud
Anzeige
AW: Msg Box mit Sverweis (später SQL)
10.01.2011 15:18:33
Axel
Hi an alle Helfer,
ja es geht - aber es hackt noch ein bischen: hier meine Lösung:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Mandant
mandant = ActiveSheet.Cells(2, 2)
' Konto Zeile / Spalte
Konto = 0
If Target > zero Then
If Target.Count = 1 Then
Set Konto = Target
Range("R8").Select
Selection.ClearContents
With ActiveSheet.QueryTables.Add(Connection:=Array(Array( _
"ODBC;DRIVER={INFORMIX 3.34 32 BIT};UID=xxxx;PWD=xxxx;DATABASE=xx001;HOST=xxxx;SRVR= _
xxxx_sql;SERV=xxxx_1542;PRO=onsoctcp;CLOC=en" _
), Array("_US.819;DLOC=en_US.819;VMB=0;CURB=0;OPT=;OAC=1;FBS=4096;")), _
Destination:=Range("R8"))
.CommandText = Array( _
"" & Chr(13) & "" & Chr(10) & "select sk_bez" & Chr(13) & "" & Chr(10) & "from sk" &  _
mandant & "" & Chr(13) & "" & Chr(10) & "where sk_kto = " & Konto & "" & Chr(13) & "" & Chr(10) & "order by sk_kto" & Chr(13) & "" & Chr(10) & "" _
)
.Name = "Abfrage von xxxx_xxxxo"
.FieldNames = False
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = True
.BackgroundQuery = True
.RefreshStyle = xlOverwriteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = False
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
MsgBox "Konto: " & Konto & " " & Range("R8")
End If
End If
End Sub

Das einzige Problem was ich jetzt noch habe ist, dass beim Anklicken der zweiten Zelle ein Debug Fehler kommt, wenn ich diesen mit bende bestätige kann ich die Zelle anklicken und bekomme das richtige Ergebnis.
Muss ich irgendwie noch die Verbindung zur Datenbank kappen?
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige