Anzeige
Archiv - Navigation
1320to1324
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

Macho nur auf bestimmtem Bereich anwenden?

Macho nur auf bestimmtem Bereich anwenden?
09.07.2013 15:34:40
NadineG
Hallo, ich bin VBA "Beginner" und habe folgendes Problem:
Ich habe ein Excel Worksheet mit 3 Tabs. Das erste heißt "DATA"; das zweite "CALC" und das dritte "CALC2". In beiden CALCs sind Zellen mit Quellbezügen zu DATA enthalten (also z.B. "=DATA!F4*100). Nun habe ich auf dem ersten Sheet einen Button eingebaut, welcher ein Makro aktiviert um die Quellbezüge, also "Data!F" sowie "Data!G" in "Data!E" zu ändern. Das Makro sieht folgendermaßen aus:

Sub Makro1()
Cells.Replace What:="DATA!F", Replacement:="DATA!E", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
Cells.Replace What:="DATA!G", Replacement:="DATA!E", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
End Sub

Nun möchte ich, dass das Makro allerdings nicht im kompletten Worksheet, sondern nur im Tab "CALC" durchläuft (Variante: in zwei von mehreren Tabs), sowie dort nur durch die Zellen, welche eine Formel enthalten (also mit "=" beginnen), damit die Funktion bei einem riesigen Excel Worksheet nicht soviel Zeit in Anspruch nimmt.
Hoffe jemand kann mir helfen; habe schon alles mögliche versucht!! Danke im Voraus.
Nadine

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: MacRo nur auf bestimmtem Bereich anwenden?
09.07.2013 16:31:10
Rudi
Hallo,
träumst du von dominanten Männern? ;-)
Sub Makro1()
With Sheets("calc").Cells.SpecialCells(xlCellTypeFormulas)
.Replace What:="DATA!F", Replacement:="DATA!E", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
.Replace What:="DATA!G", Replacement:="DATA!E", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
End With
End Sub

Gruß
Rudi

AW: MacRo nur auf bestimmtem Bereich anwenden?
09.07.2013 17:14:10
NadineG
Wie bitte? Also abgesehen davon, es funktioniert nicht; wird wie vorher in jedem Tab und in jeder Zelle ersetzt. Hier das Dokument: https://www.herber.de/bbs/user/86282.xls
Nachdem ich seit heut 9am eine Antwort suche, kann ich ja nur demütig flehen.

Anzeige
Wie bitte?
09.07.2013 17:41:55
Erich
Hi Nadine, (dies ist eine Anrede - so viel Zeit muss sein...)
Rudis Code tut genau das, was du möchtest: Er ändert nur in Formeln und nur auf dem Blatt "DATA".
"wird wie vorher in jedem Tab und in jeder Zelle ersetzt" - das stimmt nicht.
Bist du sicher, dass du kein anderes als Rudis Makro gestartet hast?
Nenn es doch mal nicht "Makro1", sondern z. B. "Rudi" und starte es dann.
Hier muss niemand demütig flehen. :-)
Aber es hat auch niemand etwas dagegen, wenn man ein wenig gute Kinderstube zeigt.
Anrede und Gruß lassen einen Beitrag gleich viel freundlicher erscheinen.
Bezog sich das "Wie bitte?" auf die "dominanten Männer"? Du hattest im Betreff "Machos" geschrieben.:-)
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
AW: Wie bitte?
09.07.2013 18:06:09
NadineG
Lieber Erich,
JA ich habe das MacRo "RUDI" 1:1 kopiert, mit meinem Button verlinkt, draufgedrückt, und es ändern sich in allen drei Sheets die Zellen die jeweils "DATA!F" aufweisen–ob Formel oder nicht. Und ganz blöd bin ich ja nun auch nicht.
Könntet ihr mir mal eure Excel-Tabelle hochladen?
Vielen lieben Dank,
eure Nadine

Rückfrage
09.07.2013 18:37:02
Erich
Hi Nadine,
wenn ich das richtig sehe, geht es um den Button mit der Beschriftung "CASE 1" auf Blatt DATA.
Der startet die Prozedur x, und die entspricht im Wesentlichen Rudis Vorschlag.
Wenn ich x starte, wird nur auf CALC geändert, und nur in Formeln.
Der Text "DATA!F4" in Zelle CALC!E11 bleibt stehen, wird nicht in "DATA!E4" geändert.
An deiner Mappe habe ich nichts geändert, nur auf den Button "CASE 1" geklickt. Alles ist ok. :-)
Ist das bei dir anders? Beschreib dann bitte ganz genau, was du tust, welches Makro läuft
und was dabei herauskommt, welche Zellen sich ändern, welche nicht.
Noch eine Bemerkung zu einigen Bezeichnungen:
"ein Excel Worksheet mit 3 Tabs" müsste richtig heißen:
"ein Excel Workbook mit 3 Sheets" oder
"eine Excelmappe mit 3 Tabellenblättern" oder
"eine Exceldatei mit 3 Blättern"
Den Begriff "Tabs" gibt es nicht, "Tabellen" sind etwas anderes als Tabellenblätter.
Auf einem Tabellenblatt kann es mehrere Tabellen geben.
"mal eure Excel-Tabelle hochladen" geht nicht. (Ein Tabellenblatt hochladen geht auch nicht.)
Man kann nur eine Datei, eine Mappe oder ein Workbbook hochladen.
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
Na, wir wdn wohl vom 'berührten Honig' ...
10.07.2013 01:32:11
Luc:-?
…hier keine AW mehr erhalten, Erich,
nachdem sie heute bereits zuvor den armen Bernd (bst) fast zur Verzweiflung getrieben hat… ;-)
Morrn, Luc :-?

Wrong Translation! orT
10.07.2013 01:39:05
Luc:-?
Natürlich (be-)rühriger Honig, was immer das sein mag… ;-)
:-?

AW: Na, wir wdn wohl vom 'berührten Honig' ...
10.07.2013 09:34:09
NadineG
Hallo ihr lieben, und danke für das viele Kopfzerbrechen!
Habe jetzt nochmal einen neuen Testcase aufgesetzt, und es funktioniert mit dem Code
Dim varItem As Variant
Dim rngSrc As Range
For Each varItem In Array("Calc", "Test")
With Worksheets(varItem)
Set rngSrc = Nothing
On Error Resume Next
Set rngSrc = .Cells.SpecialCells(xlCellTypeFormulas)
On Error GoTo 0
If Not rngSrc Is Nothing Then
rngSrc.Cells.Replace What:="Data!D", Replacement:="Data!C", LookAt:=xlPart
rngSrc.Cells.Replace What:="Data!E", Replacement:="Data!C", LookAt:=xlPart
End If
End With
Next
End Sub
Evtl war im alten Excel noch irgendwas im Hintergrund programmiert...auf jeden Fall hat sich das Problem nun gelöst! Wünsche euch allen einen schönen Tag :-)
Gruß Nadine

Anzeige
Da stimmt was nicht, ...
09.07.2013 18:45:50
Luc:-?
…Erich (& Rudi);
1. ändert Rudis Subroutine alle Fmln auf dem Blatt CALC, was möglicherweise eine FehlInterpretation ist, denn …
2. schreibt Nadine, sie hätte auf dem Blatt (wie es heißt hat sie nicht geschrieben) 3 Tabs, also wohl definierte Tabellen namens DATA, CALC u.CALC2, wenn sie wie sie schreibt nicht ganz blöd ist… ;-)
3. steht dem allerdings entgegen, dass sie Das erste heißt "DATA" schreibt – eine Tabelle ist nun mal weiblich(!) – und außerdem die Bezüge auf DATA! lauten. Das ! hat aber nach einem BlattNamen zu stehen. Eine Tabelle dürfte nur über ihren Namen identifiziert wdn…
4. folglich hat Rudi aus dem Ganzen wohl geschlossen, dass es sich bei CALC um einen Blattnamen handelt und die Makro-Aktion darauf beschränkt.
Fazit: Irgendwie scheinen Nadine die einzelnen Bezeichnungen durcheinander zu geraten, was bestimmt entweder an der Hitze liegt oder daran, dass sie sich (kurz) zuvor über einen Macho-Kollegen geärgert hatte (was ich mal für die wahrscheinlichere Variante halte, Rudi & Erich). ;-)
Also wissen wir nicht, auf welchen Zellbereich des Blattes mit dem Button die Aktivitäten eingeschränkt wdn sollen!
Gruß Luc :-?

Anzeige
CROSSPOSTING ...
10.07.2013 08:01:16
Erich
Hi Nadine,
schau doch mal in die Forums-FAQ, speziell den Text unter "Rundumschlag".
Er endet mit "... ist nicht fair und wird nicht toleriert".
Luc, danke für deinen Hinweis!
Grüße aus Kamp-Lintfort von Erich

AW: CROSSPOSTING ...lies mal bitte genauer!
10.07.2013 09:39:17
NadineG
Sorry aber nachdem ich mich nun zwei komplette Tage mit diesem Problem beschäftigt habe, und keine funktionierende Antwort bekommen habe, aus welchen Gründen auch immer (bin wie gesagt VBA Dummie) finde ich es ja nur LEGITIM diese Frage in ZWEI Foren gepostet zu haben! Halte dieses Gespräch nun für beendet, danke nochmal für die Hilfe, und einen schönen Tag noch!

Anzeige
schön dass es "Legitim" für dich ist :-)
10.07.2013 10:12:29
Klaus
Hallo Honig,
was für dich legitim ist, ist deine Sache. 99% der Antworter sehen es anders, und das sind die Leute von denen du Hilfe möchtest! Beharrst du darauf, dass dein Verhalten "Legitim" sei, schiesst du damit nur dir selber ins Knie. "Uns" Antwortern schadest du damit nicht, wir verbringen unsere freie Zeit dann halt mit anderen Problemen.
Was "Legitim" angeht: Zumindest eine Link, dazu der Satz "nach zwei Tagen habe ich die Frage auch im Forum XXX gestellt" wäre nett gewesen - im neuem Forum dazu vielleicht "bisher unerfolgreiche Lösungsansätze gab es bereits im Forum YYY - hier der Link". Legitim oder nicht, das wäre zumindest höflich gewesen.
Grüße,
Klaus M.vdT.

Anzeige
Bitte sehr, Erich! Macho ist halt auffällig! ;-)
10.07.2013 18:57:04
Luc:-?
:-?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige