VBA - Formel ab dem zweiten Tabellenblatt einfügen
#1
Hallo zusammen,

ich möchte eine Formel in allen Tabellenblättern (ab der zweiten!) einfügen. Allerdings führt er die Formel nur für das erste Tabellenblatt aus anstatt für alle anderen.
Nach etlichen recherchen habe ich folgenden Code erarbeitet bzw. aus dem Forum kopieret:

Code:
Sub MengeProTeil()
Dim ws As Worksheet
For Each ws In Worksheets
  If ws.Index > 1 Then
    'Dein weiterer Code
    Range("Z1").Select
    ActiveCell.FormulaR1C1 = "Menge pro Teil"
    Range("Z2").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "=RC[-20]*RC[-19]"
    Range("Z2").Select
    Selection.AutoFill Destination:=Range("Z2:Z166")
    Range("Z2:Z166").Select
    
    
  End If
Next
End Sub


Da ich gerade absolut nicht weiter weiß würde ich mich freuen wenn ihr mir weiterhelfen könntet.

Vielen Dank und Beste Grüße
Stinkzor
Top
#2
Hi

Versuch mal den Code.
Code:
Sub MengeProTeil()
Dim i As Long

For i = 2 To Worksheets.Count
    With Worksheets(i)
      .Range("Z1").FormulaR1C1 = "Menge pro Teil"
      .Range("Z2").FormulaR1C1 = "=RC[-20]*RC[-19]"
      .Range("Z2").AutoFill Destination:=.Range("Z2:Z166")
    End With
Next i
End Sub

Gruß Elex
[-] Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:
  • Stinkzor
Top
#3
Das ging schnell und funktionieren tut es auch noch.
Vielen Dank!


Gibt es  die Möglichkeit diese komplette Spalte (Z) jedes Tabellenblattes in ein neues Tabellenblatt zu kopieren und als Überschrift den Name des Tabellenblattes zu nehmen?

Danke und VG
Stinkzor
Top
#4
Hi

du solltest neu Fragen nicht in alte Posts integrieren. Nur durch Zufall habe ich es noch gelesen.

Versuch es damit.
Code:
Sub AlleZSpalten()
Dim k As Long, start As Long, Zeile As Long

'Zusammengefasst wird hier im Worksheet 1
'Beginnent in Spalte 8 also (H) in Zeile 1

Zeile = 1
start = 8

For k = 2 To Worksheets.Count
    With Worksheets(k)
       Worksheets(1).Cells(Zeile, start - 2 + k).Value2 = Worksheets(k).Name
       .Range("Z2:Z166").Copy
       Worksheets(1).Cells(Zeile + 1, start - 2 + k).PasteSpecial (xlPasteValues)
    End With
Next k
End Sub

Gruß Elex
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste