Registriert seit: 11.04.2014
Version(en): Office 365
Hallo Daniel,
diese Bereiche werden in Spalte D und E schon abgedeckt.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter,
der Misserfolg ist ein Waisenkind
Richard Cobden
Registriert seit: 24.01.2018
Version(en): 2016
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!
Registriert seit: 11.04.2014
Version(en): Office 365
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.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter,
der Misserfolg ist ein Waisenkind
Richard Cobden
Registriert seit: 24.01.2018
Version(en): 2016
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
Registriert seit: 11.04.2014
Version(en): Office 365
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.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter,
der Misserfolg ist ein Waisenkind
Richard Cobden
Registriert seit: 11.04.2014
Version(en): Office 365
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
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter,
der Misserfolg ist ein Waisenkind
Richard Cobden