kopieren von Werten in Abhängigkeit von Auswahl

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: kopieren von Werten in Abhängigkeit von Auswahl
von: leila
Geschrieben am: 29.07.2015 15:45:13

Hallo,
folgendes Problem:
ich erstelle gerade ein Benutzertool mit folgender Funktion:
der Benutzer kann entweder selbst Werte in eine Liste eintragen oder es werden automatisch Werte je nach Auswahl eines Namens automatisch eingetragen (kopiert aus einer Tabelle die sich ebenfalls im gleichen Excelblatt befindet).
zur Umsetzung habe ich mir folgendes vorgestellt:
möchte der Benutzer die automatische Füllung, wählt er den Namen aus, dessen werte kopiert werden sollen. Anschließend drückt er einen Button, wodurch ein Makro geöffnet wird, das in Abhängigkeit des ausgewählten Namen (3 Namen) die Werte kopiert und einträgt.
D.h. das Makro prüft, was ausgewählt wurde und nimmt dadurch eine Zeile höher oder tiefer die entsprechenden Werte zum kopieren. Also quasi eine Wenn Funktion als Makro.
bsp: Wenn Name = Maus dann select A10 & copy, select A1 & paste dann select
B10©...
wenn aber Name = Katze dann select A11 & copy, select A1&paste dann...
das kopieren der werte ist kein Problem, bei mir hängt es daran wie ich per VBA sage, dass erst die Auswahl in der Zeile geprüft wird. Mache ich das denn einfach mit einer IF-Bedingung?
stehe gerade etwas auf dem Schlauch.
Kann mir jmd runter helfen?

Bild

Betrifft: AW: kopieren von Werten in Abhängigkeit von Auswahl
von: Sepp
Geschrieben am: 29.07.2015 16:11:21
Hallo Leila,
eine kleine Beispieldatei wäre hilfreich.

Gruß Sepp


Bild

Betrifft: AW: kopieren von Werten in Abhängigkeit von
von: leila
Geschrieben am: 29.07.2015 16:40:44
ich denke es ist gut mit einer if-funktion lösbar, aber irgendwas stimmt nicht, er kopiert nämlich keine Werte. ich weiß dass das keine gute Programmiersprache ist, es geht mir nur darum dass es seinen sinn erfüllt und so ist es eben doch am einfachsten;)
Sub Makro1
If D4 = "Katze" Then
Range("J6").Select
Application.CutCopyMode = False
Selection.Copy
Range("C4").Select
ActiveSheet.Paste

Range("E35").Select
Selection.Copy
Application.CutCopyMode = False
Range("D6:E6").Select
ActiveSheet.Paste
End If
If D4 = "Maus" Then ....

Bild

Betrifft: Beispieldatei! o.T.
von: Sepp
Geschrieben am: 29.07.2015 18:55:17

Gruß Sepp


Bild

Betrifft: AW: Beispieldatei! o.T.
von: leila
Geschrieben am: 30.07.2015 08:24:12
ich habe doch gerade einen Vorschlag geschrieben, was ist daran das Problem?

Bild

Betrifft: AW: Beispieldatei! o.T.
von: Sepp
Geschrieben am: 02.08.2015 16:47:55
Hallo Leila,
wenn du weißt wie es geht, warum fragst du dann? Ich weiß wie, aber ich habe keine Lust Deine Datei nachzubauen, nur um dann festzustellen, dass bei Dir doch alles anders ist!

Gruß Sepp


Bild

Betrifft: sei nicht so batzig,
von: Michael
Geschrieben am: 02.08.2015 18:03:18
Leila,
aber warum es nicht geht, kann ich Dir schon sagen: mit if D4="bla" kommst Du nicht weiter, weil D4 von VBA einfach als Variable, nicht als Bereich angesehen wird.
Also: immer brav "option explicit" an den Anfang, dann spuckt VBA gleich einen Fehler aus.
Hier der angepaßte Beispielcode:

Option Explicit
Sub Makro1()
Select Case Range("D4")
  Case "Katze"
    Range("J6").Copy Range("C4")
    Range("E35").Copy Range("D6:E6")
  Case "Hund"
    MsgBox "Hund"
  Case Else
    MsgBox "paßt gar nix"
End Select
Application.CutCopyMode = False
End Sub
Schöne Grüße,
Michael

 Bild

Beiträge aus den Excel-Beispielen zum Thema "kopieren von Werten in Abhängigkeit von Auswahl"