Clever-Excel-Forum

Normale Version: Excel - zu anderer Spalte springen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hallo Daniel,

diese Bereiche werden in Spalte D und E schon abgedeckt.
Hallo, eine Frage hätte ich noch:

Ab Zeile 20 bräuchte ich ggf. eine Spalte davor (also statt Zeile BL beispielsweise die Zeile BK). 

Kannst du mir sagen, welchen Wert ich da anpassen muss? Habe da gerade mal im Makro geschaut und versucht das herauszufinden aber kam nicht so ganz drauf. 

Also von 9-17 bräuchte ich immer die rechte Spalte (für 2014 BL) und für Zeilen 20-37 die linke Spalte (für 2014 BK).

Vielen Dank nochmal vorab!
Hallo Daniel,

dann muss ich dir leider sagen, dass deine Datei nicht optimal aufgebaut ist. Innerhalb einer Spalte müssen immer gleichartige Daten, mit gleicher Herkunft sein.
Hallo,

danke für die Rückmeldung. Da gibt es dann also keine Möglichkeit 2 Makros zu verwenden und zu sagen, dass einmal von 9-17 und einmal von 20-37 die jeweiligen Spalten genommen werden? 

Liebe Grüße
Hallo Daniel,

im Prinzip geht es auch mit einem Makro. Allerdings mache ich solche Sachen nicht gerne, weil es eben nicht Regelkonform ist. Ich sehe mir das noch mal an, wird aber heute eher nichts mehr, weil ich gleich noch mal weg muss.
Hallo Daniel,

versuche es mal mit diesem Makro:

Code:
Option Explicit

Private Sub Worksheet_Calculate()
   Dim varCol As Variant
   Dim intMon As Integer
   Dim intZeile As Integer
   Dim intAusg As Integer
   intMon = 0
   varCol = Application.Match(Tabelle1.Range("C6"), Tabelle2.Rows(5), 0)
   intMon = Application.Match(Tabelle1.Range("D6"), Tabelle2.Rows(6), 0) + varCol - 62
   For intZeile = 9 To 37
       If intZeile > 19 Then intAusg = 1 Else intAusg = 0
       Tabelle1.Cells(intZeile, 4) = ""
       If IsNumeric(Tabelle2.Cells(intZeile, intMon - intAusg)) Then
           Tabelle1.Cells(intZeile, 4) = Tabelle2.Cells(intZeile, intMon - intAusg) / Tabelle1.Range("C40")
           Tabelle1.Cells(intZeile, 5) = Tabelle2.Cells(intZeile, intMon - intAusg) / Tabelle1.Range("C40")
       End If
   Next intZeile
End Sub
Seiten: 1 2 3