Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1080to1084
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

Übertrage Formel aus Spalte, wenn...

Übertrage Formel aus Spalte, wenn...
21.06.2009 12:44:17
Lucia
Hallo zusammen,
Ich stehe vor folgender Herausforderung, für die ein Makro einiges an Erleichterung schaffen würde:
Ausgangssituation:
In einem Tool werden monatlich Bilanzen als txt eingespielt, es laufen Berechnungen drüber, am Ende kommen Ergebnisse bezogen auf die jeweilige eingespielte Bilanz raus. diese sollen komprimiert in einem Datenblatt gesammelt werden.
Das Datenblatt ist angelegt. Linke Spalte die einzelnen Bezeichnungen, oberste Zeile die Monate in 2009 und eine Spalte mit fixen Formeln, wo diese Werte zu finden sind ist auch fertig. Diese Bezüge werden sich nie ändern, nur die Ergebnisse. Das heißt, ich kann nun diese Spalte mit Bezügen zu den Berechnungen in eine Spalte "auswärts" (z.B. Spalte T) ablegen und kann nun mit einem Makro abfragen:
Kopiere Spalte T ab Zeile 2 in die Spalte wo in Wert in Zeile 1 (Monatzeile) gleich dem Wert der Zelle Bilanz_$B$5 (das ist die Zelle im Datenblatt "eingespielte Bilanz", welches den Monat angibt auf welche sich die Bilanz bezieht) ist, aktualisiere kurz, fixiere dann die werte indem man copy paste und werte einsetzen macht und fertig.
Ausnahme gibts eine:
In der Zelle Bilanz_$B$5 ist die Angabe bei Monatsabschlüssen z.B. 1.4.2009, bei Jahresabschlüssen "PR.01.09". wenn der Fall auftritt, dann die Formel in die Spalte kopieren, über der in Zeile 1 steht "2009".
Is doch eigentlich ganz easy, oder?Ich bekomm´s blos nicht so einfach hin....
Danke schonmal,
Lucia

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Übertrage Formel aus Spalte, wenn...
21.06.2009 15:17:24
fcs
Hallo Lucia,
hier hab ich dir heute auf deine ursprüngliche Frage geantwortet.
https://www.herber.de/forum/messages/1082461.html
Dort ist auch eine kleine Routine wie die Spalte gefunden werden kann in der der zutreffende Monat steht.
Nachfolgend die Prozedur auf deine jetzige Variante umgestellt. Blattnamen muss du noch anpassen.
Gruß
Franz

Sub Monatsdaten_uebertragen()
'Daten für den Monat aus Spalte T  übertragen
Dim wksMonate As Worksheet
Dim lngSpalteStat As Long, varMonat, bolGefunden As Boolean
Set wksMonate = Worksheets("Monatsuebersicht") 'Name ggf. Anpassen!
'Monat aus Ergebnisblatt auslesen
varMonat = Worksheets("eingespielte Bilanz").Range("B5")
If Not IsDate(varMonat) Then varMonat = 2009  'Jahrebilanz
If MsgBox(Prompt:="Ergebnisdaten für Monat """ & varMonat & """ jetzt übertragen?", _
Buttons:=vbQuestion + vbYesNo, Title:="Daten aus Spalte T übertragen") = vbYes Then
With wksMonate
'Spalte des Monats im Statistikblatt in Zeile 1 ab Spalte 2 suchen
.Unprotect
Application.ScreenUpdating = False
For lngSpalteStat = 2 To .Cells(1, .Columns.Count).End(xlToLeft).Column
If varMonat = .Cells(1, lngSpalteStat).Value Then Exit For
bolGefunden = True
Next
If bolGefunden = True Then
'Werte aus Spalte T in gefundene Spalte kopieren
.Range(.Cells(2, 20), .Cells(.Rows.Count, 20).End(xlUp)).Copy
.Cells(2, lngSpalteStat).PasteSpecial Paste:=xlPasteValues
.Protect
Application.CutCopyMode = False
Else
MsgBox "Monat """ & varMonat & """ in Monatsübersichten nicht gefunden!"
End If
Application.ScreenUpdating = False
End With
'Sicherungskopie vom Blatt Statistik erstellen
Call Statistik_Sicherungskopie(wks:=wksMonate)
End If
End Sub
Sub Statistik_Sicherungskopie(wks As Worksheet)
'Blatt Statistik wird in eine neue Arbeitsmappe kopiert
Dim wbCopy As Workbook
Dim strDatei, strVerzeichnis As String
strVerzeichnis = ActiveWorkbook.Path 'Verzeichnis der Sicherungskopie
strDatei = strVerzeichnis & Application.PathSeparator & "GuV_Statistik_" _
& Format(Now, "YYYYMMDD_hhmmss")
wks.Copy
Set wbCopy = ActiveWorkbook
With wbCopy
.BuiltinDocumentProperties("Title") = "Sicherungskopie " & Format(Now, "YYYY-MM-DD hh:mm:ss" _
)
.BuiltinDocumentProperties("Subject") = "GuV Test Gesellschaft GmbH & Co KG"
.SaveAs Filename:=strDatei, FileFormat:=-4143, ReadOnlyRecommended:=True
.Close savechanges:=False
End With
End Sub


Anzeige
AW: Übertrage Formel aus Spalte, wenn...
21.06.2009 15:52:09
Lucia
Danke schön für die schnelle Anwort,
Ich hab das mal auf mich angepasst:

Sub Monatsdaten_uebertragen()
'Daten für den Monat aus Spalte T  übertragen
Dim wksMonate As Worksheet
Dim lngSpalteStat As Long, varMonat, bolGefunden As Boolean
Set wksMonate = Worksheets("D_Ergebnisse") 'Name ggf. Anpassen!
'Monat aus Ergebnisblatt auslesen
varMonat = Worksheets("D_Bilanz").Range("B5")
If Not IsDate(varMonat) Then varMonat = 2009  'Jahrebilanz
If MsgBox(Prompt:="Ergebnisdaten für Monat """ & varMonat & """ jetzt übertragen?", _
Buttons:=vbQuestion + vbYesNo, Title:="Daten aus Spalte O übertragen") = vbYes Then
With wksMonate
'Spalte des Monats im Statistikblatt in Zeile 1 ab Spalte 2 suchen
.Unprotect
Application.ScreenUpdating = False
For lngSpalteStat = 2 To .Cells(1, .Columns.Count).End(xlToLeft).Column
If varMonat = .Cells(1, lngSpalteStat).Value Then Exit For
bolGefunden = True
Next
If bolGefunden = True Then
'Werte aus Spalte O in gefundene Spalte kopieren
.Range(.Cells(2, 15), .Cells(.Rows.Count, 15).End(xlUp)).Copy
.Cells(2, lngSpalteStat).PasteSpecial Paste:=xlPasteValues
.Protect
Application.CutCopyMode = False
Else
MsgBox "Monat """ & varMonat & """ in Monatsübersichten nicht gefunden!"
End If
Application.ScreenUpdating = False
End With
'    'Sicherungskopie vom Blatt Statistik erstellen
'    Call Statistik_Sicherungskopie(wks:=wksMonate)
End If
End Sub


(Formeln sind in Spalte O), was er jetzt macht ist, mir die Werte in Die Spalte 1 rechts von der Formelspalte zu schreiben, also in P. Wo steckt da noch der Wurm?
Grüße,
LUcia

Anzeige
AW: Übertrage Formel aus Spalte, wenn...
21.06.2009 16:18:56
fcs
Hallo Lucia,
dann stimmt ggf. etwas nicht mit den Datumeinträgen bzw deren Formaten in der Zeile 1 in "D_Ergebnisse" oder dem Datum in Zelle D_Bilanz.Range("B5").
evtl. Steht das Datum in B5 als Text drin.
Beim Vergleichen der Inhalte in den Zellen in Zeile 1 und der Variablen varMonat muss man dann evtl. noch eine Typumwandlung oder andere Methode anwenden, damit die Inhalte den gleichen Datentyp haben und vergleichbar werden.
Gruß
Franz
AW: Übertrage Formel aus Spalte, wenn...
21.06.2009 16:29:47
Lucia
Genau das war es....phhu....vielen, vielen Dank. Ein arbeitsreiches Wochenende kann ich jetzt endlich abschließen:-)
Grüße,
LUcia
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige