Microsoft Excel

Herbers Excel/VBA-Archiv

neues Aktien Index Problem


Betrifft: neues Aktien Index Problem von: björn
Geschrieben am: 19.09.2019 21:57:51

Guten Abend und hallo
Vielleicht hat hier ja jemand eine Idee
Also ich verarbeite den Mdax
Ich bekomme die Aktien so
ABC bcd fre
10 20 30

Nun wurde der Index zum Quartalswechsel neu abgestimmt
Einige Aktien sind Raus, einige haben die Position gewechselt einige sind neu
So das es nun so aussieht
Du ABC bcd fre
5 11 21 29

An meinem Beispiel seht ihr das nach meinem bisherigen Script ABC in das falsche Worksheet kopiert wird
Ich brauche also eine Intelligente Lösung für das Problem
Achja bis her habe ich das Kopieren der Daten per For Next Schleife gemacht
Ich würde nur ungern in ein „kopiere Daten unter abc in das Sheet(“abc“)“ zurückkehren

Vielleicht habt ihr eine Idee
alternativ würde ich die alten Daten in das neue Sheet kopieren
Ich wünsche einen schönen Abend und ein schönes Wochenende
Der Björn
(Achja ich hab eine Rechtschreibschwäche seht mir die Fehler nach)

  

Betrifft: Nur allgemeine Antwort... von: 1714011.html
Geschrieben am: 19.09.2019 23:44:46

Hi,

...da weder Deine Datenstruktur noch Dein bisheriger Code bekannt ist.

Ich brauche also eine Intelligente Lösung...

Stichworte: Find-Methode, HLOOKUP

Mehr von meiner Seite nur, wenn Du ein wenig Speck an Deine Frage bringst.

VG, Boris

  

Betrifft: AW: Nur allgemeine Antwort... von: 1714160.html
Geschrieben am: 20.09.2019 18:53:45

ich verstehe die Frage nicht ganz was willst du wissen?
mehr als
sheets(test).cells(x,2).Copy Destination:=Worksheets(x).Range("b20")

gibt es nicht
naja ich verwende
Worksheets(2).Cells(2, y).Copy Destination:=Worksheets(y + 3).Range("i1")
Sheets(y + 3).Rows("20:20").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Worksheets(2).Cells(2, y).Copy Destination:=Worksheets(y + 3).Range("a20")
Sheets(y + 3).Range("b20").FormulaR1C1 = Date
Worksheets(2).Cells(3, y).Copy Destination:=Worksheets(y + 3).Range("c20")
sowas
habe mich also von den eigentlichen Namen der Sheets abgewendet, sie können Rheinmetall heißen aber auch Hullaloop

die Ursprünglichen sheets habe ich mit

Sub FuegeBlaetterMitNamenEin()
Dim Bereich As String
Dim Zelle As Range
Dim Tabelle As Worksheet
Bereich = "a2:bh2"
With ActiveWorkbook
For Each Zelle In ActiveSheet.Range(Bereich).Cells
 Set Tabelle = .Sheets.Add(After:=.Sheets(Sheets.Count))
 Tabelle.Name = Zelle.Text
Next Zelle
End With
End Sub

erzeugt

aber mit einen Sheets.add(After:=Sheets((l-1))).Name = l
kann man sie auch erzeugen um sie dann mit
Sub namen_akt()
Dim bo As Integer
For bo = 4 To 63
Sheets(bo).Name = bo
Next bo
bo = 4
For bo = 4 To 63
Sheets(bo).Name = Sheets("test").Cells(2, (bo - 3)).Value
Next bo
End Sub

zu aktualisieren
wie gesagt ich weiß nicht was du meinst also habe ich alles reingepackt ¯\_(ツ)_/¯


aber du hast mir schon hinweise gegeben was ich mir näher anschauen sollte danke

Beiträge aus dem Excel-Forum zum Thema "neues Aktien Index Problem"