Clever-Excel-Forum

Normale Version: VBA: Daten aus Quellblatt in Zielspalte in Zielblatt eintragen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hi,

in meiner alten Anfrage von vorgestern werden Bilanz-Daten in das Blatt "Datenübernahme Bilanz" aus der geschlossenen Datei "2022.xls" (siehe D13) rausgeholt.

Nun sollen diese Daten im Arbeitsblatt "Aktiva" per VBA in die entsprechende Jahresspalte eingefügt werden. Wie kann die Ziel-Spalte gefunden werden? Spalte E bis Q sind die Vorjahre.

Arbeitsblatt mit dem Namen 'Datenübernahme Bilanz'
ABCDEFG
11
12Pfad:C:\temp\
13Datei:2022.xls
14BlattBilanz (1)
15Spalte:
16
17Aktiva
18Bereich3.560.000,00 €
19A.Anlagevermögen3.560.000,00 €
20A.I.Immaterielle Vermögensgegenstände280.000,00 €
21A.I.1.Selbst geschaffene gewerbliche Schutzrechte und ähnliche Rechte und Werte2005150.000,00 €
22A.I.2.entgeltlich erworbene Konzessionen, gewerbliche Schutzrechte und ähnliche Rechte und Werte sowie Lizenzen an solchen Rechten und Werten200620.000,00 €
23A.I.3.Geschäfts- oder Firmenwert200710.000,00 €
24A.I.4geleistete Anzahlungen2012100.000,00 €
25A.II.Sachanlagen3.280.000,00 €
26A.II.1.Grundstück, grundstücksgleiche Rechte und Bauten einschließlich der Bauten auf fremden Grundstücken20093.280.000,00 €
27

ZelleFormel
F18=F19+F37+F52+F53+F54
F19=F20+F25+F30
F20=SUMME(F21:F24)
F21=XVERWEIS(E21;'C:\temp\[2022.xlsb]Bilanz (1)'!$C$15:$C$28;'C:\temp\[2022.xlsb]Bilanz (1)'!$E$15:$E$28;0)
F22=XVERWEIS(E22;'C:\temp\[2022.xlsb]Bilanz (1)'!$C$15:$C$28;'C:\temp\[2022.xlsb]Bilanz (1)'!$E$15:$E$28;0)
F23=XVERWEIS(E23;'C:\temp\[2022.xlsb]Bilanz (1)'!$C$15:$C$28;'C:\temp\[2022.xlsb]Bilanz (1)'!$E$15:$E$28;0)
F24=XVERWEIS(E24;'C:\temp\[2022.xlsb]Bilanz (1)'!$C$15:$C$28;'C:\temp\[2022.xlsb]Bilanz (1)'!$E$15:$E$28;0)
F25=SUMME(F26:F29)
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg


Arbeitsblatt mit dem Namen 'Aktiva'
ABCDPQRSTUV
12021202220232024202520262027
2
3Aktiva:Bilanzsumme (Gesamtvermögen)0,00 €3.560.000,00 €0,00 €0,00 €0,00 €0,00 €0,00 €
4
5A.Anlagevermögen0,00 €3.560.000,00 €0,00 €0,00 €0,00 €0,00 €0,00 €
6A.I.Immaterielle Vermögensgegenstände0,00 €280.000,00 €0,00 €0,00 €0,00 €0,00 €0,00 €
7A.I.1.Selbst geschaffene gewerbliche Schutzrechte und ähnliche Rechte und Werte150.000,00 €0,00 €0,00 €0,00 €0,00 €0,00 €
8A.I.2.entgeltlich erworbene Konzessionen, gewerbliche Schutzrechte und ähnliche Rechte und Werte sowie Lizenzen an solchen Rechten und Werten20.000,00 €0,00 €0,00 €0,00 €0,00 €0,00 €
9A.I.3.Geschäfts- oder Firmenwert10.000,00 €0,00 €0,00 €0,00 €0,00 €0,00 €
10A.I.4geleistete Anzahlungen100.000,00 €0,00 €0,00 €0,00 €0,00 €0,00 €
11A.II.Sachanlagen0,00 €3.280.000,00 €0,00 €0,00 €0,00 €0,00 €0,00 €
12A.II.1.Grundstück, grundstücksgleiche Rechte und Bauten einschließlich der Bauten auf fremden Grundstücken3.280.000,00 €0,00 €0,00 €0,00 €0,00 €0,00 €
13

ZelleFormel
Q3=SUMME(Q5;)
Q5=Q6+Q11
Q6=SUMME(Q7:Q10)
Q11=SUMME(Q12:Q12)
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

[attachment=50468]
habe es geschafft:

Arbeitsblatt mit dem Namen 'Datenübernahme Bilanz'
ABCDEF
12Pfad:C:\temp\
13Datei:2022.xls2022
14BlattBilanz (1)
15Spalte:
16
17Aktiva
18Bereich3.560.000,00 €
19A.Anlagevermögen3.560.000,00 €
20A.I.Immaterielle Vermögensgegenstände280.000,00 €
21A.I.1.Selbst geschaffene gewerbliche Schutzrechte und ähnliche Rechte und Werte2005150.000,00 €
22A.I.2.entgeltlich erworbene Konzessionen, gewerbliche Schutzrechte und ähnliche Rechte und Werte sowie Lizenzen an solchen Rechten und Werten200620.000,00 €
23A.I.3.Geschäfts- oder Firmenwert200710.000,00 €
24A.I.4geleistete Anzahlungen2012100.000,00 €
25A.II.Sachanlagen3.280.000,00 €
26A.II.1.Grundstück, grundstücksgleiche Rechte und Bauten einschließlich der Bauten auf fremden Grundstücken20093.280.000,00 €

ZelleFormel
E13=LINKS(D13;4)*1
F18=F19+F37+F52+F53+F54
F19=F20+F25+F30
F20=SUMME(F21:F24)
F21=XVERWEIS(E21;'C:\temp\[2022.xlsb]Bilanz (1)'!$C$15:$C$28;'C:\temp\[2022.xlsb]Bilanz (1)'!$E$15:$E$28;0)
F22=XVERWEIS(E22;'C:\temp\[2022.xlsb]Bilanz (1)'!$C$15:$C$28;'C:\temp\[2022.xlsb]Bilanz (1)'!$E$15:$E$28;0)
F23=XVERWEIS(E23;'C:\temp\[2022.xlsb]Bilanz (1)'!$C$15:$C$28;'C:\temp\[2022.xlsb]Bilanz (1)'!$E$15:$E$28;0)
F24=XVERWEIS(E24;'C:\temp\[2022.xlsb]Bilanz (1)'!$C$15:$C$28;'C:\temp\[2022.xlsb]Bilanz (1)'!$E$15:$E$28;0)
F25=SUMME(F26:F29)
F26=XVERWEIS(E26;'C:\temp\[2022.xlsb]Bilanz (1)'!$C$15:$C$28;'C:\temp\[2022.xlsb]Bilanz (1)'!$E$15:$E$28;0)
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

Modul Modul1
Option Explicit 
 
Sub Datenübernahme() 
    Dim wsQuelle As Worksheet 
    Dim wsZiel As Worksheet 
    Dim jahr As Integer 
    Dim jahresspalte As Range 
     
    ' Setze die Arbeitsblätter 
    Set wsQuelle = ThisWorkbook.Sheets("Datenübernahme Bilanz") 
    Set wsZiel = ThisWorkbook.Sheets("Aktiva") 
 
    ' Hole das Jahr aus Zelle E13 
    jahr = wsQuelle.Range("E13").Value 
     
    ' Suche die Jahresspalte in "Aktiva" 
    Set jahresspalte = wsZiel.Rows(1).Find(What:=CStr(jahr), LookIn:=xlValues, LookAt:=xlWhole) 
 
    If Not jahresspalte Is Nothing Then 
        ' Trage die Werte in die gefundene Jahresspalte ein 
        wsZiel.Cells(7, jahresspalte.Column).Value = wsQuelle.Range("F21").Value 
        wsZiel.Cells(8, jahresspalte.Column).Value = wsQuelle.Range("F22").Value 
        wsZiel.Cells(9, jahresspalte.Column).Value = wsQuelle.Range("F23").Value 
        wsZiel.Cells(10, jahresspalte.Column).Value = wsQuelle.Range("F24").Value 
    Else 
        MsgBox "Jahresspalte nicht gefunden" 
    End If 
 
End Sub 


VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


Moin Ralf,

wenn Deine Jahre einspaltig sind, in einer bestimmten spalte - hier P - mit einem bestimmten Jahr - hier 2021 - beginnen, kannst Du die Spalte einfach berechnen:
= 2021 - 2005 --> = 16 = Spalte(P) bzw. = Suchjahr - 2005
(Subtrahend = Jahr in P - Spalte() = 2021 - 16 = 2005))
Hallo und guten Morgen auch von mir,

ich hatte mal eine ähnliche Konstellation, bei der VBA wegen der Makrorichtlinien ausgeschieden ist. Ich habe einfach in einem zweiten Blatt die Formeln mit Hilfe von Verkettungen zusammengesetzt und anschließend händisch kopiert und als Werte auf das richtige Blatt eingefügt. Dann steht der Formeltext in den richtigen Zellen und Excel muss nur noch dazu gebracht werden, die Zellen einmal neu zu interpretieren (z.B. durch Suchen und ersetzen von Gleichheitszeichen durch Gleichheitszeichen)

Vielleicht ist das ja auch eine Alternative für dich.

Viele Grüße
derHöpp.