Excel VBA: WENN … DANN Teilbereiche auswählen und kopieren?


01.09.2020, 14:11

So soll es grob aussehen. Kann leider nur ei Beispiel geben und keine Originaldaten!

1 Antwort

Sub Test()

If Range("B1").Value = "Test1" And Range("B2").Value = "Test2" Then
    Range("R3:R5").Copy
    Range("D1").Select
    Application.ActiveSheet.Paste
    Range("U3:U7").Copy
    Range("D4").Select '<-- Das geht wohl nicht anderst
    Application.ActiveSheet.Paste
End If

End Sub
Woher ich das weiß:eigene Erfahrung

patvog1606 
Beitragsersteller
 01.09.2020, 13:48

Dankeschön :) schade, dass das nicht geht. Weil wenn in den Zellen B1 und B2 andere Wörter stehen muss immer ein anderer Zellenbereich gewählt werden :/

1
geri3d  01.09.2020, 13:52
@patvog1606

So war es aufgetragen, man kann schon verschiedene Bereiche auswählen, du musst mir nur sagen was du willst, man kann mit VBA viel machen, nix ist unmöglich, wird nur umfangreicher.

Was für Kriterien hast du denn? Möchtest du die Bereiche von Hand in B1 und B2 eintragen und wieviele sölche Bereiche gibt es in deinem Spreadsheet?

1
patvog1606 
Beitragsersteller
 01.09.2020, 14:02
@geri3d

Auf einem Tabellenblatt ("1") sind die angesprochenen Zellen B1 und B2 DropDown Listen mit mehreren Auswahlmöglichkeiten. Wenn z.B. B1="Test1" und B2=""Test2" dann sollen von Tabellenblatt ("2") aus einer riesigen Liste einzelne Bereiche gewählt und kopiert werden. Auf Tabellenblatt ("3") soll dann die gefilterte Liste (also die ausgewählten Bereiche) angezeigt werden

1
geri3d  01.09.2020, 14:09
@patvog1606

Stell mal konkret dar welche Listeneinträge es für B1 und B2 gibt und welche Bereiche ausgewählt werden sollen bei einer bestimmten Kombination.

Ich stell mit das so von dir vor

B1: Huber,Weber,Klotz,Baumann
B2: Fridolin,Hans,Bertram,Eugen

Fridolin Weber -> R3:R5 / U3:U7
usw.

Es wäre alles viel einfacher wenn B1 einen Bereich darstellt und B2 den anderen.

Tabellenblätterübergreifend ist kein Problem.

1
patvog1606 
Beitragsersteller
 01.09.2020, 14:12
@geri3d

Habe die Frage ergänzt. Aber ja so wie du es dargestellt hast, passt es schon. Ich weiß nur, dass das leider nur mit VBA geht. Bin sonst nur mit Excel-Formeln vertraut.

1
patvog1606 
Beitragsersteller
 01.09.2020, 14:14
@geri3d

In dem hochgeladenen Beispiel wird zum Beispiel der mittlere Teil nicht ausgewählt, sondern nur Anfangs- und Endteil.

1
geri3d  01.09.2020, 14:18
@patvog1606

Schwer tue ich mich damit, dass du 2 Kriterien hast woraus sich viele Möglichkeiten ergeben aber in dem Beispiel ganz oben verlangst du dass B1="Test1" UND B2="Test2" sind. Das klingt für mich unlogisch und brauche erst mal einen Clue wozu das dient zwei Dropdowns zu haben und dann das UND.

1
patvog1606 
Beitragsersteller
 01.09.2020, 14:21
@geri3d

Die zweite Liste ändert sich je nachdem was in Dropdown Liste 1 ausgewählt wird. Heißt:

Dropdown1 -> Softgetränk: Dropdown2 -> Cola, Fanta, Sprite,...

Dropdown1-> Spirituosen: Dropdown2 -> Jim Beam, Havanna, Bacardi,...

2
geri3d  01.09.2020, 14:22
@patvog1606

Dafür brauch ich jetzt ein Bier und eine Weile Geduld, ich muss erst Testdaten anlegen. Ich kann dir nichts versprechen.

2
patvog1606 
Beitragsersteller
 01.09.2020, 14:23
@geri3d

oha :D so umständlich? Vielen Dank! Bin auch am tüfteln, aber ich habe mit Programmierung kaum Kontakt gehabt.

1
geri3d  01.09.2020, 14:29
@patvog1606

Das Komplexe daran, ich muss an die Dropdowns rangehen und kenne die Bereiche nicht. Das macht es schwierig.

Darf ich das so verstehen, Dropdown1 ist für R3:R5 zustandig je nach eintrag ein anderer Range und das selbe bei Dropdown2?

Kann wirklich dauern, das ist eine Nuss zum knacken aber ich weiss die Einzelnen Rereiche nicht, am besten wäre es, wenn man sie berechnen kann.

Die Dropdownfelder müssten auch noch einen versteckten wert haben, das kenne ich aus VB.Net aber in Excel VBA ist alles so minimiert und VB6 mässig.

1