Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
456to460
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
456to460
456to460
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro nach Klick - Zellwert

Makro nach Klick - Zellwert
21.07.2004 22:26:12
MichiM
Nabend Nachtschwärmer,
ich stehe vor einem großem Problem - für mich zumindest...
Im Blatt "Kundenauswahl" B10 - B29 stehen Kundennummern.
Wenn ich nun eine dieser Zellen anklicke, wird folgendes Makro gestartet:

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Target.Address = "$B$10" Then
Sheets("Kundendaten anzeigen").Visible = True
Worksheets("Kundendaten anzeigen").Range("C4").Value = Range("B10").Value
Dim Suchkunde As String
Suchkunde = ""
If Not (Worksheets("Kundendaten anzeigen").Cells(4, 3).Value) = "" Then
Suchkunde = Worksheets("Kundendaten anzeigen").Cells(4, 3).Value
Auswahlsumme = Auswahlsumme + 1
End If
Select Case Auswahlsumme
Case 1
Suche1 (Suchkunde)
End Select
End If
End Sub

Die Übernahme des Wertes und die Suche klappen - allerdings auch dann, wenn gar kein Wert in der Zelle steht :(
Wie müsste ich das ganze ändern, um
a) bei leerem Feld eine MsgBox zu bekommen - ohne das anschliessend die Suche anfängt?
b) nicht für jede einzelne Zelle (bisher "nur" B10-B29) ein Makro zu schreiben?
Gruss
MichiM

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

Betreff
Datum
Anwender
Anzeige
AW: Makro nach Klick - Zellwert
Ramses
Hallo
probier mal das
Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Dim Suchkunde As String
Dim Auswahlsumme As Integer
Suchkunde = ""
If Target.Column = 2 And Target.Row > 10 And Target.Row < 29 Then
Sheets("Kundendaten anzeigen").Visible = True
Worksheets("Kundendaten anzeigen").Range("C4").Value = Range("B10").Value
If Not (Worksheets("Kundendaten anzeigen").Cells(4, 3).Value) = "" Then
Suchkunde = Worksheets("Kundendaten anzeigen").Cells(4, 3).Value
Auswahlsumme = Auswahlsumme + 1
Else
'Hinweis
MsgBox "Keine Kundenname vorhanden", vbInformation + vbOKOnly, "Fehler"
'Makroabruch
Exit Sub
End If
Select Case Auswahlsumme
Case 1
Suche1 (Suchkunde)
End Select
End If
End Sub

Gruss Rainer
Anzeige
AW: Makro nach Klick - Zellwert
21.07.2004 22:52:01
MichiM
Hallo Rainer,
das Problem: der zu kopierende Wert muss aus der der angeklickten Zelle kommen - ggf. also aus B12 statt B10 (halt da wo geklickt wird).
Und die Kontrolle muss vor dem einblenden kommen - sonst flackert das Bild so "unschön" :) Zudem bekomme ich den Laufzeitfehler 1004 (und er meckert mir das kopieren an - warum auch immer).
Zwar kann ich jetzt alle Zellen in diesem Bereich anklicken - der Wert wird aber immer aus B10 genommen.
Gruss
MichiM
AW: Makro nach Klick - Zellwert - Teilantwort
21.07.2004 23:05:53
Björn
Hallo Michi,
versuch's mal mit:
Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Dim Suchkunde As String
Dim Auswahlsumme As Integer
Suchkunde = ""
If Target.Column = 2 And Target.Row > 10 And Target.Row < 29 Then
Worksheets("Kundendaten anzeigen").Range("C4").Value = Target.Value
If Not (Worksheets("Kundendaten anzeigen").Cells(4, 3).Value) = "" Then
Sheets("Kundendaten anzeigen").Visible = True
Suchkunde = Worksheets("Kundendaten anzeigen").Cells(4, 3).Value
Auswahlsumme = Auswahlsumme + 1
Else
'Hinweis
MsgBox "Keine Kundenname vorhanden", vbInformation + vbOKOnly, "Fehler"
'Makroabruch
Exit Sub
End If
Select Case Auswahlsumme
Case 1
Suche1 (Suchkunde)
End Select
End If
End Sub

Gruß
Björn
Anzeige
AW: Makro nach Klick - Zellwert - Teilantwort
21.07.2004 23:06:10
Björn
Hallo Michi,
versuch's mal mit:
Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Dim Suchkunde As String
Dim Auswahlsumme As Integer
Suchkunde = ""
If Target.Column = 2 And Target.Row > 10 And Target.Row < 29 Then
Worksheets("Kundendaten anzeigen").Range("C4").Value = Target.Value
If Not (Worksheets("Kundendaten anzeigen").Cells(4, 3).Value) = "" Then
Sheets("Kundendaten anzeigen").Visible = True
Suchkunde = Worksheets("Kundendaten anzeigen").Cells(4, 3).Value
Auswahlsumme = Auswahlsumme + 1
Else
'Hinweis
MsgBox "Keine Kundenname vorhanden", vbInformation + vbOKOnly, "Fehler"
'Makroabruch
Exit Sub
End If
Select Case Auswahlsumme
Case 1
Suche1 (Suchkunde)
End Select
End If
End Sub

Gruß
Björn
Anzeige
ups - doppelt geklickt - geschlossen
21.07.2004 23:07:34
Björn
AW: Makro nach Klick - Zellwert
Ramses
Hallo
dann halt so
Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Dim Suchkunde As String
Dim Auswahlsumme As Integer
Suchkunde = ""
If Target.Column = 2 And Target.Row > 10 And Target.Row < 29 Then
If Worksheets("Kundendaten anzeigen").Target.Value = "" Then
'Hinweis
MsgBox "Keine Kundenname vorhanden", vbInformation + vbOKOnly, "Fehler"
'Makroabruch
Exit Sub
Else
Sheets("Kundendaten anzeigen").Visible = True
Worksheets("Kundendaten anzeigen").Range("C4").Value = Target.Value
Suchkunde = Worksheets("Kundendaten anzeigen").Target.Value
Auswahlsumme = Auswahlsumme + 1
End If
Select Case Auswahlsumme
Case 1
Suche1 (Suchkunde)
End Select
End If
End Sub

Welches Kopieren meckert er denn an?
Da wird doch gar nichts kopiert ?
Gruss Rainer
Anzeige
Jetzt klappts....
22.07.2004 07:00:51
MichiM
In "KUndendaten anzeigen" soll ja der Wert, den ich anklicke eingetragen werden (sogesehen kopieren oder einfügen?).
Da hat er immer etwas angemeckert.
Habe den Code jetzt ein wenig abgeändert (und den Wert zur Prüfung in eine leere Zelle von Kundenauswahl eingefügt). Jetzt klappt es:
Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Dim Suchkunde As String
Dim Auswahlsumme As Integer
Suchkunde = ""
If Target.Column = 2 And Target.Row > 9 And Target.Row < 30 Then
Worksheets("Kundenauswahl").Range("A1").Value = Target.Value
If Worksheets("Kundenauswahl").Range("A1").Value = "" Then
'Hinweis
MsgBox "Keine Auswahl getroffen"
'Makroabruch
Exit Sub
Else
Sheets("Kundendaten anzeigen").Visible = True
Suchkunde = Worksheets("Kundenauswahl").Range("A1").Value
Auswahlsumme = Auswahlsumme + 1
End If
Select Case Auswahlsumme
Case 1
Suche1 (Suchkunde)
End Select
End If
End Sub

Danke nochmal für die Vorarbeit...
Gruss
MichiM
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige