Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

MaKro für alle Tabellenblätter





Frage

Hallo, ich habe folgendes Problem, daß meine Makros (auto_open / auto_close) nur bei Tabellenblatt 1 funktionieren, wie kann ich sie auf alle Tabellen- blätter beziehen? [code]Sub auto_open() If Range("G2").Value <> Range("H2").Value Then Range("F11:F150").Value = Range("E11:E150").Value Range("G11:G150").Value = 0 End If End Sub Sub auto_close() Range("G2").Select Selection.Copy Range("H2").Select End Sub[/code] Gruss carlcox74

Antwort 1 von Saarbauer

Hallo,

du musst die Tabellenblätter
Zitat:
Sheets(Array( "Tabelle1", "Tabelle2","Tabelle3","Tabelle4")).Select
angeben o.ä.

Da keine genauen Angaben, nur als Beisspiel

Gruß

Helmut

Antwort 2 von carlcox

Hallo ,

ich habe in das Macro Sheets(Array eingefügt,
auto_close funktioniert einwandfrei, aber bei
auto_open geht nur Fach_1.Woran könnte es
liegen?

Gruss carlcox74

Sub auto_open()
Sheets(Array("Fach_1", "Fach_2", "Fach_3", "Fach_4")).Select
If Range("G2").Value <> Range("H2").Value Then
Range("F11:F150").Value = Range("E11:E150").Value
Range("G11:G150").Value = 0

End If
End Sub
Sub auto_close()
Sheets(Array("Fach_1", "Fach_2", "Fach_3", "Fach_4",)).Select
Range("G2").Select
Selection.Copy
Range("H2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False

End Sub


Antwort 3 von rainberg

Hallo carlcox,

kopiere folgenden Code in den Codebereich von DieseArbeitsmappe

Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Dim intAnzahl As Integer
    For intAnzahl = 1 To Worksheets.Count
        Worksheets(intAnzahl).Range("G2").Copy
        Range("H2").PasteSpecial Paste:=xlValues
    Next
End Sub

Private Sub Workbook_Open()
    Dim intAnzahl As Integer
    For intAnzahl = 1 To Worksheets.Count
        If Worksheets(intAnzahl).Range("G2").Value <> Worksheets(intAnzahl).Range("H2").Value Then
            Worksheets(intAnzahl).Range("F11:F150").Value = _
            Worksheets(intAnzahl).Range("E11:E150").Value
            Worksheets(intAnzahl).Range("G11:G150").Value = 0
        End If
    Next
End Sub


Gruß
Rainer

Antwort 4 von carlcox74

Hallo Rainer,

ich habe dein Makro eingefügt, jetzt funktioniert
Workbook_Open,aber bei Workbook_BeforeClose
kopiert G2 zu H2 nur die gerade aktive Tabelle.

Gruss carlcox74

Antwort 5 von rainberg

Hallo carlcox,

das kann ich leider nicht nach vollziehen, bei mir hat´s geklappt.

Gruß
Rainer

Antwort 6 von carlcox74

Hallo,

ich habe was geändert, jetzt funktioniert es auch bei mir.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim intAnzahl As Integer
For intAnzahl = 1 To Worksheets.Count
Worksheets(intAnzahl).Range("G2").Copy
Worksheets(intAnzahl).Range("H2").PasteSpecial Paste:=xlValues
Next
End Sub 


Vielen Dank

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: