Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1232to1236
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
Inhaltsverzeichnis

In Abhängigkeit eines Wertes bestimmte Spalte kopi

In Abhängigkeit eines Wertes bestimmte Spalte kopi
Ramon
Hallo zusammen,
ich habe eine kleines Problem, dass sich bestimmt ganz einfach mit einer "Case-Anweisung" lösen
ließe. Ich weiß nur leider nicht so richtig, wie.
In einer Zelle steht eine Zahl zwischen 1 und 52. Je nachdem, welche Zahl dort steht, soll eine
bestimmte Spalte auf ein anderes Blatt kopiert werden.
Bisher löse ich das mit einer IF-Anweisung. Bei 52 Fällen natürlich ziemlich umständlich, denke ich.
Zumal die 52 noch deutlich mehr werden könnte . . . So sieht mein Coed zur Zeit aus (Auszug):

Sub daten_holen()
If Sheets("Data Analysis").Range("F221").Value = 1 Then
Sheets("tabelle1").Activate
Range("U10").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("bridge_daten").Select
Range("w10").Select
ActiveSheet.Paste
End If
If Sheets("Data Analysis").Range("F221").Value = 2 Then
Sheets("tabelle1").Activate
Range("ab10").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("bridge_daten").Select
Range("w10").Select
ActiveSheet.Paste
End If
If Sheets("Data Analysis").Range("F221").Value = 3 Then
Sheets("tabelle1").Activate
Range("ai10").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("bridge_daten").Select
Range("w10").Select
ActiveSheet.Paste
End If
End Sub

Könnt Ihr mir bitte auf die Sprünge helfen?
Dankeschön!
AW: In Abhängigkeit eines Wertes bestimmte Spalte kopi
07.10.2011 14:23:32
Piet
Hallo Ramon,
teste mal:

Sub daten_holen_2()
If Sheets("Data Analysis").Range("F221").Value "" Then
Sheets("tabelle1").Activate
Cells(10, Sheets("Data Analysis").Range("F221").Value).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("bridge_daten").Select
Range("w10").Select
ActiveSheet.Paste
End If
End Sub
Gruß
Piet
AW: In Abhängigkeit eines Wertes bestimmte Spalte kopi
07.10.2011 14:40:49
Ramon
Hallo Piet,
danke, aber wie soll er nun wissen, welche Spalten kopiert werden muss?
Konkret soll er bei
Sheets("Data Analysis").Range("F221").Value =1 Die Spalte U kopieren,
bei 2 Die Spalte AB
bei 3 Die Spalte AI
bei 4 Die Spalte AP
.......
bei 52 Die Spalte DD
Und immer an gleicher Stelle auf dem Blatt "bridge_daten" einfügen.
Gruß,
Ramon
Anzeige
bei 52 Die Spalte DD
07.10.2011 14:51:13
Rudi
Hallo,
das pass nicht in die Logik.
Für XL2003 darf Sheets("Data Analysis").Range("F221").Value max. 34 werden. Wird dann Spalte IR.
Gruß
Rudi
Rudi hat recht, hier fehlt der Multiplikator!
07.10.2011 14:43:22
Piet
Hallo nochmals,
ich habe das addieren von 2 und das multiplizieren mit 7 in meinem Entwurf vergessen. Tut mir leid, aber Rudi hat die Sache ja gerettet.
Gruß
Piet
AW: In Abhängigkeit eines Wertes bestimmte Spalte kopi
07.10.2011 14:39:37
Rudi
Hallo,
da die Spalten immer um 7 versetzt sind, kann man das ausrechnen.
Ohne If, Select Case, Select und Activate

Sub daten_holen()
Dim lngSpalte As Long
lngSpalte = (Sheets("Data Analysis").Range("F221").Value + 2) * 7
With Sheets("tabelle1")
.Range(.Cells(10, lngSpalte), .Cells(10, lngSpalte).End(xlDown)).Copy _
Sheets("bridge_daten").Range("W10")
End With
End Sub

Gruß
Rudi
Anzeige
AW: In Abhängigkeit eines Wertes bestimmte Spalte kopi
07.10.2011 14:49:04
Ramon
Ja das is coll, danke Euch beiden!!!
AW: In Abhängigkeit eines Wertes bestimmte Spalte kopi
07.10.2011 15:03:19
Ramon
Mist, genau, die Logik passt nicht immer. So muss es aussehen:
1 = U
2 = AB
3 = AI
4 = AP
5 = AW
6 = BD
7 = BK
8 = BR
9 = BY
10 = CF
11 = CM
12 = CT
13 = DA
aber jetzt:
14 = V (!)
15 = AC
16 = AJ
17 = AQ
. . . 7er Schritte bis 26 = DB
dann
27 = W
28 = AD
. . . 7er Schritte bis 39 = DC
dann
40 = X
41 = AE
. . . 7er Schritte bis 52 = DD
Doch nur mit Case möglich?
07.10.2011 15:15:06
Ramon
Da die 7er-Schrittfolge immer nur für Teilbereiche stimmt, geht
es wohl doch nur über Case, oder? - Wie würde ich das am besten
aufbauen?
Anzeige
AW: In Abhängigkeit eines Wertes bestimmte Spalte kopi
07.10.2011 15:23:18
Piet
Hallo Ramon,
in dem Fall fällt mir spontan keine Berechnungslogik ein. Machs doch mal folgendermaßen: Füge eine neue Zeile zuoberst in der tabelle1 ein, in der kannst du die Nummern den Spalten zuordnen. Also In Zelle U1 1, V1 14, usw. Dann muss in Rudis Code nur noch Ermittlung der Spalte und alle Zeilenbezüge angepasst werden, etwa so:

Sub daten_holen()
Dim lngSpalte As Long
lngSpalte = Sheets("tabelle1").Range("1:1").Find(What:=Sheets("Data Analysis").Range("F221") _
.Value, LookAt:=xlWhole).Column
With Sheets("tabelle1")
.Range(.Cells(10, lngSpalte), .Cells(10, lngSpalte).End(xlDown)).Copy _
Sheets("bridge_daten").Range("W10")
End With
End Sub
Gruß
Piet
Anzeige
AW: In Abhängigkeit eines Wertes bestimmte Spalte kopi
07.10.2011 15:33:02
Ramon
Hi,
leider darf und kann ich in der Tabelle1 nichts ändern. Wird über eine Hyperion Schnittstelle jeden
Tag automatisch erstellt. Der Aufbau ist fix.
Ich habe es jetzt mit einer CASE-Anweisung probiert. Klappt aber nicht.

Sub daten_holen()
Dim ingspalte As Long
Dim wert As Long
wert = Sheets("Data Analysis").Range("F221").Value
Select Case wert
Case "1"
ingspalte = 21
Case "2"
ingspalte = 28
End Select
With Sheets("tabelle1")
.Range(.Cells(10, lngSpalte), .Cells(10, lngSpalte).End(xlDown)).Copy _
Sheets("bridge_daten").Range("W10")
End With
End Sub

Der Bereich zwischen With und End With wird angemeckert. Was mache ich falsch?
Gruß,
Ramon
Anzeige
AW: In Abhängigkeit eines Wertes bestimmte Spalte kopi
07.10.2011 15:39:02
Ramon
Mensch Piet,
jetzt habe ich mir die Tabelle1 nochmal genauer angesehen. Jede Spalte hat eine
eigene individuelle Überschrift. Dann müßte es ja doch so gehen, wie Du vorgeschlagen
hast. Muss ihn nur dazu bewegen, dass er genau diese Überschriften auch als Auswahl
vorgibt. Mache ich den Verweis halt einfach auf F222. Dort kann ich per Sverweis auf F221
die entsprechenden "Überschriften" reinziehen . . .
Gruß und schönes WE
AW: In Abhängigkeit eines Wertes bestimmte Spalte kopi
07.10.2011 15:44:39
Ramon
FUNKTIONIERT !!!!! Der Hammer . . . . !
Vielen Dank
mit Gültigkeit noch einfacher?
07.10.2011 15:48:28
Piet
Ramon,
mit Auswahlliste gehts natürlich auch, da brauchst du keinen Sverweis (wäre das nicht eh ein Vergleich geworden?) zu bauen, machs mit dem Dropdown in Zelle F221: mittels Daten Gültigkeit - Liste -- als Formel gibst du dort ein =INDIREKT("tabelle1!u1:dd1")
Nun kannst du die Zeilenüberschrift heraussuchen und das Makro kann danach suchen.
Gruß
Piet
Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige