Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1176to1180
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
Inhaltsverzeichnis

Range Problem

Range Problem
Ringlstetter
Hallo allerseits,
ich hab mal eine kleine Frage. Bei meinem Makro soll das aktive Feld nachdem alles fertig ist "a5" sein. Eigentlich hab ich das auch so geschrieben. Leider markiert Excel die Range "b12:e13"..kann mir jemand sagen warum?
Hier das Makro:

Sub Löschen()
' Löschen Makro
Dim Wert
Wert = Application.InputBox("Bitte geben Sie den Datumsbereich ein:", "Datumseingabe")
Dim wks
For Each wks In Sheets(Array("Fischer", "Rathje", "Kock", "Szewczyk", "Voss", "Böge", " _
FreierHelmut", _
"Schnoor", "Lubanski", "Horree", "Lütt", "Klein", "Krüger", "Hinrichsen", "Kinne", _
"Jensen", "Michalewski", "Dunker", "Stöckel", "Mumm", "Altenburg Rolf", "Lindemann", _
"Bartsch", "Kühl", "Kursel"))
wks.Range("A2:N2").Value = "Abrechnungszeitraum " & Wert
Next
Dim wksa
For Each wksa In Sheets(Array("BernhardtLeo", "Kath", "Kummerfeldt", "Holst", "Altenburg  _
Andreas", _
"Groth", "Ramm", "Hammer", "Seider", "Latzel", "Maschmann", "Bernhard Knut", "Kramer",   _
_
_
_
"Biernacki", "Gloyer", "Bergagnin", "Wollenberg", "Johannsen", "Grahlmann", _
"Stojanovic", "Farkas", "Lüben", "FreierThomas", "Bökenhauer", "Grothkopp"))
wksa.Range("A2:N2").Value = "Abrechnungszeitraum " & Wert
Next
Dim wksb
For Each wksb In Sheets(Array("Wegner", "Krause", "Schlünzen", "SpotaValerie", "Fröck", " _
Kuhn", _
"Meyer", "Neinstell", "Stahlschmidt", "Zabel", "Wulf", "Staben", "Völkel", "Greve", _
"Vogel", "Lang", "Kamp", "Grube", "Rütz", "Fuhrmann", "Mauer", "Losch", "Weiss", _
"Peters", "Pahl", "Willomeit"))
wksb.Range("A2:N2").Value = "Abrechnungszeitraum " & Wert
Next
If vbYes = MsgBox("Sicher? Dies löscht alle Daten!!!", _
vbYesNo + vbExclamation, "Nachfrage...") Then
Sheets("Fischer").Select
ActiveWindow.ScrollWorkbookTabs Position:=xlLast
Sheets(Array("Fischer", "Rathje", "Kock", "Szewczyk", "Voss", "Böge", "FreierHelmut", _
"Schnoor", "Lubanski", "Horree", "Lütt", "Klein", "Krüger", "Hinrichsen", "Kinne", _
"Jensen", "Michalewski", "Dunker", "Stöckel", "Mumm", "Altenburg Rolf", "Lindemann", _
"Bartsch", "Kühl", "Kursel")).Select
Sheets("Fischer").Activate
Sheets(Array("BernhardtLeo", "Kath", "Kummerfeldt", "Holst", "Altenburg Andreas", _
"Groth", "Ramm", "Hammer", "Seider", "Latzel", "Maschmann", "Bernhard Knut", "Kramer",   _
_
_
_
"Biernacki", "Gloyer", "Bergagnin", "Wollenberg", "Johannsen", "Grahlmann", _
"Stojanovic", "Farkas", "Lüben", "FreierThomas", "Bökenhauer", "Grothkopp")).Select _
Replace:=False
Sheets(Array("Wegner", "Krause", "Schlünzen", "SpotaValerie", "Fröck", "Kuhn", _
"Meyer", "Neinstell", "Stahlschmidt", "Zabel", "Wulf", "Staben", "Völkel", "Greve", _
"Vogel", "Lang", "Kamp", "Grube", "Rütz", "Fuhrmann", "Mauer", "Losch", "Weiss", _
"Peters", "Pahl")).Select Replace:=False
Sheets("Willomeit").Select Replace:=False
Range("A5:O72").Select
Selection.ClearContents
End If
Range("a5").Select
Sheets("Menu").Select
Range("e13").Select
End Sub

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Range Problem
16.09.2010 09:24:27
ede
Hallo,
laut Makro wechselst du in das Sheet Menü un selectiertst die Zelle E13 und nicht A5.
Gruss
AW: Range Problem
16.09.2010 09:34:04
EvilRik
Hallo ede,
uiuiui, da selectierst du dich ja fast zu Tode o.o :)
Wäre es nicht einfacher alle Blätter zu durchlaufen und Ausnahmen zu definieren, in denen nicht gelöscht werden soll!?
Zu deiner Frage.
...
Sheets("Menu").Select
Range("e13").Select

Das sind deine letzten Anweisungen. Er markiert auf dem Blatt "Menu" dei Zelle "E13". Warum der Bereich "B12:E13" markiert wird hieraus nicht ersichtlich.
Gruß Henrik
AW: Range Problem
16.09.2010 09:41:51
Ringlstetter
Ah ne, die Selektion von e13 ist korrekt. Habe ich vergessen zu erwähnen. Ich meine bevor er das sheet wechselt. Er löscht bei allen Arbeitsblättern den Bereich und soll dann für den nächsten Monat wieder ins erste Feld springen um von vorne anzufangen.
Also quasi vor Sheets("Menu").Select markiert er diesen komischen Bereich anstatt auf a5 zu gehen..
Und das andere: Ich selektiere mich zu Tode? Wie könnte ich das denn einfacher machen? Ich bin noch Anfänger und lerne ;)
Anzeige
AW: Range Problem
16.09.2010 09:51:48
ede
hallo noch mal,
dann versuch mal dein select auf a5 vor dem endif zu setzen.
gruss
AW: Range Problem
16.09.2010 09:55:16
Ringlstetter
Hab ich gerade mal versucht: Selbes Problem. In jedem markierten Arbeitsblatt wählt er b12:e13 aus..Excel will mich bestimmt auf den Arm nehmen..
AW: Range Problem
16.09.2010 10:02:20
ede
und so?
Range("a5").Select
End If
Sheets("Menu").Activate
Range("e13").Select
AW: Range Problem
16.09.2010 10:04:53
ede
Range("a5").Select
End If
Sheets("Menu").Activate
Sheets("Menu").Select
Range("e13").Select
Ich selektiere mich zu Tode ... bitte nicht ;o)
16.09.2010 09:53:03
Matthias
Hallo
z.B. kannst Du Dieses:
Range("A5:O72").Select
Selection.ClearContents
so schreiben:
Range("A5:O72").ClearContents
Du musst also nicht immer zwingend den Bereich selektieren.


und B12:E13 sind nicht zufällig "verbundene Zellen" ?
Gruß Matthias
Anzeige
AW: Ich selektiere mich zu Tode ... bitte nicht ;o)
16.09.2010 09:56:36
Ringlstetter
Aaaaah..super, das spart mir ja ne Menge. Vielen Dank ;)
Aber zu dem eigentlichen Problem: Nein, das ist keine verbundene Zelle.
AW: Range Problem
16.09.2010 10:12:46
EvilRik
Hall Ringlstetter,
deine Wechsel-Aussage und irgendwas mit Monat verstehe ich leider nicht.
Hier mal ein Beispiel, was dir denke ich zumindest Denkanstösse geben kann :)
Sub Loeschmich()
Dim Wert, wks
Wert = Application.InputBox("Bitte geben Sie den Datumsbereich ein:", "Datumseingabe")
For Each wks In ThisWorkbook.Sheets
With wks
If .Name = "Menu" Or .Name = "Müller" Then
'hier die Ausnahmen definieren
'Die Ausnahmen kannst du auch variable halten. z.B. wenn du alle Blätter
'mit erstem Buchstabe="L" nicht bearbeiten möchtest.
'=> if left(.Name,1)="L" then ...
'oder: if Left(.Name, 1) Like "[T-W]" then...
'(wenn erster Buchstabe vom Namen großgeschrieben im Bereich T-W)
'gibt also viele Möglichkeiten
Else
' bei jeden anderen Blatt
.Range("A2:N2").Value = "Abrechnungszeitraum " & Wert
End If
End With
Next wks
If vbYes = MsgBox("Sicher? Dies löscht alle Daten!!!", _
vbYesNo + vbExclamation, "Nachfrage...") Then
For Each wks In ThisWorkbook.Sheets
If .Name = "Menu" Or .Name = "Müller" Then 'hier auch die Ausnahmen
Else
.Range("A5:O72").ClearContents
End If
Next wks
End If
Sheets("Menu").Select  'was du hier bezweckst, habe ich nicht verstanden
Range("e13").Select
End Sub

Gruß Henrik
Anzeige
AW: Range Problem
16.09.2010 10:39:33
Ringlstetter
Gibt es das auch mit "außer"?
Also es soll bei allen gemacht werden, nur nicht bei: Stammdaten, Menu, Eingabefeld etc.
? Steht doch da. if Ausnahme then... owT
16.09.2010 10:47:03
EvilRik
AW: ? Steht doch da. if Ausnahme then... owT
16.09.2010 10:49:04
Ringlstetter
Jo, ich Blindvieh...alles klar. Vielen Dank!!
AW: Range Problem
16.09.2010 10:36:13
Ringlstetter
Ich hab´s!! In dem Sheet Menu waren verbundene Zellen die angeklickt waren. Die Auswahl hat Excel auf die selektierten übertragen (obwohl das Sheet ja eigentlich gar nix damit zu tun hat..).
Range("A5:O72").ClearContents
End If
Range("a5").Select
Sheets("Menu").Activate
Range("a5").Select
So hat es funktioniert..vielen Dank Euch ;)

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige