ich hab in einer Tabelle monthly verschieden Daten gespeichert. Die Werte zu den Monaten stehen allerdings im Abstand von jeweils verbundenen 4-5 Spalten nebeneinander.
Da ich die Daten in eine Datenbank Importieren möchten.
Hab ich ein neues Tabellenblatt erstellt wo die Daten quasi transponiert in einer ordentlichen Tabellenstruktur stehen. Da sich an dem Blatt monthly noch was ändern kann möchten ich die Verknüpfungen dynamisch setzen können.
Jetzt das Problem:
Dazu wollte ich die Formel (z.B. "=monthly!E151") aus der Zelle erfassen die Spalte E auslesen und um die jeweils 4 oder 5 Spalten erhöhen.
Aber leider kann ich mit den Strings nicht rechen.
Gibt es da noch eine andere Möglichkeit die Formel auszulesen, zu verändern oder quasi dynamisch zu setzen ?
Mein Ansatz sieht so aus:
Dim intZeile As Integer, _
intZEnde As Integer, _
intSpalte As Integer, _
intSEnde As Integer, _
intColumnOffset As Integer
intZeile = 2 ' Zeilenbeginn
intZEnde = intZeile + 12 ' für Monat
intSpalte = 7
intSEnde = ActiveSheet.UsedRange.Columns.Count ' für Monat
intColumnOffset = 4
While intSpalte <= intSEnde
intZeile = 2 ' Zeilenbeginn
Formel aus Zelle auslesen
strFormel = ActiveSheet.Cells(intZeile, intSpalte).Formula
intZeile = intZeile + 1
Verändern
While intZeile < intZEnde ' Zähler überprüfen.
und wieder setzen
ActiveSheet.Cells(intZeile, intSpalte).Formula = newFormular
intZeile = intZeile + 1 ' Zähler hochzählen.
Wend
intSpalte = intSpalte + 1 ' Zähler hochzählen.
Wend 'Spalten
Beispiel für monthly
Zeile/Spalte E I M BA
Jan Feb Mrz Dez
151 Wert1 132 5 45
152 Wert2 14 56 12
153 Wert3 23,8% 45 21
Beispiel für Tbl Import
year month Wert1 Wert2
2005 01 132 14
2005 02 5 56
2005 03 45 12
2005 12
Zielaussehen der Formeln in Tbl Import
year month Wert1 Wert2
2005 01 =monthly!E151 =monthly!E152
2005 02 =monthly!I151 =monthly!I152
2005 03 =monthly!M151 =monthly!M152
2005 12
Wie kann ich das lösen?
Vielen Dank
Gruß Martin