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
Da keine genauen Angaben, nur als Beisspiel
Gruß
Helmut
du musst die Tabellenblätter
Zitat:
Sheets(Array( "Tabelle1", "Tabelle2","Tabelle3","Tabelle4")).Select
angeben o.ä.Sheets(Array( "Tabelle1", "Tabelle2","Tabelle3","Tabelle4")).Select
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
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 SubAntwort 3 von rainberg
Hallo carlcox,
kopiere folgenden Code in den Codebereich von DieseArbeitsmappe
Gruß
Rainer
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
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
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.
Vielen Dank
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

