Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
736to740
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
736to740
736to740
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Hilfe bei Makro......

Hilfe bei Makro......
23.02.2006 11:12:04
Joachim
Hallo.
ich brauche nocheinmal Hilfe bei einem Makro.
Ich habe ein Makro in Modul1 bei einer Mappe.
Dieses Makro wird nur auf einer Tabelle innerhalb der Mappe genutzt.

Private Sub UngesperrteLoeschen1()
Dim rng As Range, c As Range
For Each rng In Range("A1:O101")
If Not rng.Locked Then
If rng.MergeCells Then
rng.MergeArea.ClearContents
Else
rng.ClearContents
End If
End If
Next
Nun möchte ich dieses Makro -umstricken- so, dass es in einer anderen Mappe
eine fast Gleiche Funktion hat. Doch in dieser Mappe sind mehrere Tabellen auf die diese Funktion angewendet werden soll.
In dieser Mappe ist bereits ein Makro, welches derart definiert ist, dass es die Parameter des jeweiligen Blattes übertragen bekommt.
Dieses Makro ist im Modul1 und bekommt je nach dem auf welchem Tabellenblatt ich mich gerade befinde die entsprechenden Quellparameter übertragen.
Im Modul steht das Makro:
Sub Daten_übertragen(Quelltabelle As String, Quellbereiche As String, Zielbereiche As String)
End Sub

----------------------------------
In den jeweiligen Tabellenblättern steht dann:

Private Sub CommandButton1_Click()
Call Daten_übertragen("Team1", "K8:O14;K16:O18", "E19;E26")
End Sub

-----------------------------------------------------
Nun möchte ich das Makro -UngesperrteLoeschen-
so umsetzen, dass Variable definiert werden die je nachdem auf welchem Tabellenblatt ich mich gerade befinde -also das aktive Blatt ist- den Parameter dieses aktiven Blattes erhält. der Bereich der gelöscht werden soll ist bei jedem Blatt identisch.
Also:
aktives Blatt -Team1-
zu löschender Bereich A8:G500
--
aktives Blatt -Team2-
zu löschender Bereich A8:G500
--
usw.
Auf jedem Blatt wird nun ein Button plaziert der auf das Makro -UngesperrteLoeschen- verweist.
als Parameter bekommt er eben nur noch den Namen des Aktiven Blattes mitgegeben.
_______________________________________________
Ich hoffe es ist nicht zu konfus und man versteht was ich will.
Gruss Joachim

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hilfe bei Makro......
23.02.2006 15:02:53
Pohl
Private Sub UngesperrteLoeschen1(Blatt as String)
Dim rng As Range, c As Range
For Each rng In sheets(Blatt).Range("A1:O101")
If Not rng.Locked Then
If rng.MergeCells Then
rng.MergeArea.ClearContents
Else
rng.ClearContents
End If
End If
Next
mfg Pohl
AW: Hilfe bei Makro......
23.02.2006 15:56:38
Joachim
Hallo,
bringe ich nun dieses Makro in Modul1 oder lege ich ein weiteres Modul(2) an?
Wie bekomme ich dann den Button mit dem Makro -UngesperrteLoeschen- verbunden?
Wenn ich auf dem Tabellenblatt eine Schaltfläche anlege (über Symbolleiste Steuerelemente Toolbox)bekommt diese automatisch den Namen CommandButton2 und hat den gleichnamigen Eintrag in dem Modul Tabelle(n).
Gruss Joachim
Anzeige
AW: Hilfe bei Makro......
24.02.2006 20:57:06
Pohl
Hi,
sorry verstehe das Problem nicht, beschreib mal verständlicher.
mfg Pohl
AW: Hilfe bei Makro......
25.02.2006 10:07:31
Joachim
Hi,
was ich meine ist:
Wo lege ich dieses Makro -UngesperrteLoeschen- hin?
In Modul1 oder lege ich eine neues Modul(2) an?
Die zweite Frage:
Ich möchte dieses Makro über einen Button aufrufen.
Dieser Button wird auf jedem Tabellenblatt angelegt.
Den Button anlegen -über Steuerelemte Toolbox- kein Problem.
Nur wie weise ich diesen Buttons das Makro zu?
Wenn ich den Button angelegt habe ist in dem betreffenden Tabellenblatt
ein Eintrag -CommandButton2-.
Eine Option diesem CommandButton den Code zuzuweisen finde ich nicht.
-----------------------------
Ich komme nicht weiter. -Wie bekannt: Meine VBA-Kenntnisse sind sehr minimal-
---------------
Gruss
Joachim
---------------
Anzeige
AW: Hilfe bei Makro......
25.02.2006 14:17:53
Pohl
Hi,
das in ein Modul, ob Modul 1 oder 2 ist egal.
Option Explicit
Sub UngesperrteLoeschen1(Blatt As String)
Dim rng As Range, c As Range
For Each rng In Sheets(Blatt).Range("A1:O101")
If Not rng.Locked Then
If rng.MergeCells Then
rng.MergeArea.ClearContents
Else
rng.ClearContents
End If
End If
Next
End Sub
Der Code für die Commandbutton in den Tabellenmodulen:
Option Explicit

Private Sub CommandButton1_Click()
Call UngesperrteLoeschen1(Me.Name)
End Sub

mfg Pohl
AW: Hilfe bei Makro...... Ich hab's... :-)) !!
25.02.2006 14:20:21
Joachim
Hallo -Pohl-,
nun habe ich es wahrhaftig selbst gelöst. (grins!!)
Dein Makro war im Prinzip schon OK - nur es dauerte ewig bis es durchgelaufen war.
Nun habe ich mir etwas anderes gedacht und es gemacht.
-Bereich markieren - Inhalte löschen - A8 als letztes selektieren.
Geht unheimlich schnell und hat das was ich brauche.
----------------------------------
Als Info -mein Makro-
Ich denke dies ist so richtig.
Ich habe auf jedem Tabellenblatt den CommandButton (2) angelegt und dann diesen Code dahinein.
-------------------------

Private Sub CommandButton2_Click()
Range("A8:G1000").Select
Selection.ClearContents
Range("A8").Select
End Sub

--------------------------
Vielen lieben Dank an alle die mir geholfen haben.
Irgendwann wird der Level VBA nein auch mal zur Vergangenheit.
(Hoffentlich - der Anfang ist jedenfalls gemacht.)
---------------
Gruss
Joachim
---------------
Anzeige
AW: Hilfe bei Makro...... Ich hab's... :-)) !!
HansH
Hallo Joachim,
kannst Du sicher etwas kürzen:
Range("A8:G1000").ClearContents
Range("A8").Select
Gruß
Hans
AW: Hilfe bei Makro...... Ich hab's... :-)) !!
25.02.2006 20:27:33
Joachim
Hallo,
danke.
Bis bald.
---------------
Gruss
Joachim
---------------

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige