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

Makro bei Enter

Makro bei Enter
12.08.2004 17:25:14
Birkel
Hallo,
ich habe in einer Datei ein Feld, in dem eine PLZ eingegeben wird.
Jetzt möchte ich, dass in dem Feld daneben automatisch die Stadt erscheint,
wenn man die PLZ eingegeben hat und ENTER drückt.
Ist das möglich?
Vielen Dank für die Hilfe.
MfG
Birkel

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro bei Enter
12.08.2004 17:37:58
Ramses
Hallo
Zaubern kann EXCEL nicht, irgendwo müssen die PLZ und die Ortsnamen natürlich schon stehen, ansonsten geht das mit SVERWEIS()
AW: Makro bei Enter
12.08.2004 17:53:43
Birkel
Hallo Rainer,
die Daten stehen in einer Datei mit Stammdaten und das mit dem sverweis weiß ich
schon. Aber ich will, dass das Feld leer ist, in dem der Ort steht, damit der User
dass dann auch ändern kann ohne das die Formel weg ist.
Man müßte da über VBA gehen, und so weit ich weiß, gibt es da auch irgend einen
Code. Aber wie der lautet weiß ich nicht und die VBA-Hilfe hilft mir auch nicht weiter.
MfG
Birkel
AW: Makro bei Enter
12.08.2004 19:37:42
Ramses
Hallo
Nimm das mal als Beispiel
Das Makro wird ausgeführt wenn in Zelle A2 etwas geändert wurde:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim seekWks As Worksheet, curWks As Worksheet
Dim seekOK As Boolean
Set curWks = Worksheets(ActiveSheet.Name)
Set seekWks = Worksheets("PLZ-Tabelle")
seekOK = False
If Target.Address(False, False) <> "A2" Then Exit Sub
On Error GoTo findError
curWks.Range("B2") = Application.WorksheetFunction.VLookup(Target, seekWks.Range("A:B"), 2, 0)
Exit Sub
findError:
curWks.Range("B2") = "Not found"
Exit Sub
End Sub

Der Code muss in das Klassenmodul der Tabelle wo die Eingabe erfolgen soll.
Blattregister - Rechte Maustaste - Code anzeigen
Dort hin kopieren. Die Variablen musst du halt entsprechend anpassen
Gruss Rainer
Anzeige
AW: Makro bei Enter
12.08.2004 18:32:27
ChrisL
Hi Birkel
Was wenn es für die selbe PLZ mehrere Ortschaften gibt? Ich weiss nicht wie es mit Deutschland steht, aber in der Schweiz ist es nicht unüblich. Vermutlich braucht es noch eine Auswahl z.B. mit Userform und ListBox oder wie siehst du das.
Birkel-Grurken (oder wie war das) gibts aber glaub nur in Deutschland oder? ;-)
N.b. für CH hätte ich noch ein PLZ/Ort Verzeichnis.
Gruss
Chris
AW: Makro bei Enter
12.08.2004 19:22:35
Birkel
Hallo Chris,
habe auch schon ein PLZ-Verzeichnis für CH. Und das mit den doppelten hab ich auch schon gesehen, aber das ist kein Problem, der User soll ja das Feld ändern können. Die Stadt soll nur ein Vorschlag sein,aber das mit der ListBox ist keine schlechte Idee.
Hast du ne Ahnung, wie man das machen könnte? Weil wenn in dem Feld ne Formel steht und der User dann was eintippt, ist die Formel weg und das ist schlecht.
MfG
Birkel
P.S. Es ist die Birkel-Nudel.
Anzeige
PLZ / Ort Auswahl
12.08.2004 19:57:37
ChrisL
Hi Birkel (-Nudel)

Die Datei https://www.herber.de/bbs/user/9570.xls wurde aus Datenschutzgründen gelöscht

Viel Spass
Chris


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$2" Then
Dim Anzahl As Byte
Dim WS1 As Worksheet
Dim WS2 As Worksheet
Set WS1 = Worksheets("Tabelle1")
Set WS2 = Worksheets("Tabelle2")
Select Case WorksheetFunction.CountIf(WS2.Columns(1), Target)
Case 0: Exit Sub
Case 1
WS1.Range("B2") = WS2.Cells(WorksheetFunction.Match(Target, WS2.Columns(1), 0), 2)
Case Else
Load UserForm1
UserForm1.Show
End Select
End If
End Sub



Private Sub CommandButton1_Click()
Worksheets("Tabelle1").Range("B2") = ListBox1
Unload UserForm1
End Sub


Private Sub CommandButton2_Click()
Unload UserForm1
End Sub


Private Sub ListBox1_Click()
CommandButton1.Enabled = True
End Sub


Private Sub UserForm_Initialize()
Dim WS1 As Worksheet, WS2 As Worksheet
Dim iZeile As Long
Set WS1 = Worksheets("Tabelle1")
Set WS2 = Worksheets("Tabelle2")
iZeile = WorksheetFunction.Match(WS1.Range("A2"), WS2.Columns(1), 0)
Do Until WS2.Cells(iZeile, 1) <> WS1.Range("A2")
ListBox1.AddItem WS2.Cells(iZeile, 2)
iZeile = iZeile + 1
Loop
End Sub

Anzeige
AW: PLZ / Ort Auswahl
13.08.2004 17:21:33
Birkel
Hallo Chris,
danke klappt wunderbar.
MfG
Birkel(-Nudel)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige