Thema Datum  Von Nutzer Rating
Antwort
Rot Automatisch Zellenbezug ändern
12.03.2018 09:42:49 Chris
NotSolved

Ansicht des Beitrags:
Von:
Chris
Datum:
12.03.2018 09:42:49
Views:
1098
Rating: Antwort:
  Ja
Thema:
Automatisch Zellenbezug ändern

Hallo,

ich habe folgendes Problem:

Ich habe mir eine Tabelle angelegt mit allen möglichen Formeln usw. Jetzt möchte ich die Tabelle über ein Makro kopieren, deren Namen ändern und ans Ende der Excel Datei verschieben (soweit kein Problem). Ich möchte das sich eine Formel der neuen Tabelle immer auf die Vorherige Tabelle bezieht.

Bsp: Ich habe die Tabellen "Rechnung vom 06.03.18" und Rechnung vom "15.04.2018"

Jede Tabelle hat ca. 50 Personen mit Vorname Nachname und einem alten und neuen Kontostand.

In der Tabelle "Rechnung vom 15.04.2018"

ist im Feld Kontostand alt der einen Verweis eingebaut  hat welcher der Kontostand neu von der Tabelle "Rechnung vom 06.03.2018" ausgibt.

Die Formel sieht so aus:

=VERWEIS(2;1/('Rechnung vom 06.03.18 '!$B$4:$B$99&'Rechnung vom 06.03.18 '!$C$4:$C$99='Rechnung vom 15.04.2018'!B6&'Rechnung vom 15.04.2018'!C6);'Rechnung vom 06.03.18 '!$L$4:$L$99)

Der Verweis vergleicht 2 Krieterien und sucht das resultierende Ergebnis aus einem alten Tabellenblatt:

 

Jetzt soll mein Makro ergenzent zu oben den Aufgaben noch die Formel soweit automatisch anpassen das sie sich automatisch auf die letze Tabelle bezieht.

 

Ablauf:

1 Aktuelle Tabelle Kopieren.

2 Neue Tabelle Name ändern: (Rechnung vom 01.05.18)

3 Neue Tabelle nach hinten verschieben.

4 Zur alten Tabelle Springen (die wo kopiert wurde und laut Logik eine Tabelle vor der Aktuellen ist)

5 Name der alten Tabelle kopieren.

6 Zur neuen Tabelle springen.

7 In der Formel an der richtigen stelle der Name der neuen Tabelle einfügen.

Fertig

Die ersten drei Punkte funktionieren:

 

Option Explicit

Sub BlattKopieren()
'
' Tabellenblatt kopieren und umbenennen
'
Dim strName As String
    strName = InputBox("Name des neuen Blatts:", "Blatt benennen")
    If strName = "" Then
      MsgBox "Leider wurde kein Blattname eingetragen!"
      Exit Sub
    End If
    Sheets("Rechnung vom 15.04.2018").Copy After:=Sheets("Rechnung vom 15.04.2018")
    ActiveSheet.Name = strName
    ActiveSheet.Range("A2") = strName
    MsgBox "Blatt erfolgreich kopiert!"
End Sub

'Auf neues Tabellenblatt springen

Sub TabellenblattAktivieren()
Worksheets("strName").Select

End Sub

'Das neue Tabellenblatt nach hinten verschieben

Sub TabellenblattVerschieben()
ActiveSheet.Move After:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)

End Sub

4,5 und 6 müssten auch stimmen

Sub FormelAendern()
'Auf Voriges Tabellenblatt springen
    On Error Resume Next
    ActiveSheet.Previous.Activate
    On Error Resume Next
'Name des Tabellenblattes kopieren
    Sheets("Rechnung vom 06.03.18 ").Select
    Range("A2").Select
    Selection.Copy
' Wieder auf neues Tabellenblatt springen
Sub TabellenblattAktivieren2()
Worksheets("strName").Select
 
7 nicht ....
 
' Formel anpassen
    Range("I5").Select
    ActiveCell.FormulaR1C1 = _
        "=LOOKUP(2,1/('paste'!R4C2:R49C2&'paste'!R4C3:R49C3='strName'!RC[-7]&'strName'!RC[-6]),'paste'!R5C12:R49C12)"
    Range("I5").Select
    Selection.Copy
    Range("I6:I49").Select
    Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
End Sub

 

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Automatisch Zellenbezug ändern
12.03.2018 09:42:49 Chris
NotSolved