Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
644to648
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
644to648
644to648
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro für viele Zellbezüge in neuer Datei

Makro für viele Zellbezüge in neuer Datei
29.07.2005 08:40:45
Hugo
Ja hi!
Ich habe folgendes Problem:
Ich habe eine Tabelle mit diversen Arbeitsblättern und vielen Daten, die sich ab und zu mal ändern.
Nun muss ich in einer neuen Exceldatei all diese Daten darstellen und das (dadurch dass sich die Ursprungs-Daten ja ändern) mit einem Formelbezug – also „+'[Dateiname]Arbeitsblatt'!Zelle“.
Hat dafür jemand ein Makro für mich, dass die ganze Datei automatisch durcharbeitet oder zumindest ein Arbeitsblatt? Das wär echt super!
Vielen Dank schon mal im Voraus und schöne Grüße
Der Hugo

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro für viele Zellbezüge in neuer Datei
30.07.2005 09:33:46
Eberhard
Hallo Hugo,
gehe ich recht in der Annahme, dass du so eine Art Log-Date für alle Änderungen
haben willst?
So etwas ähniches habe ich schon mal angetestet - es klappte schon recht gut...
Wenn du so etwas suchst, dann melde dich wieder - sonst müsstest du deine Vorstellungen nochmals beschreiben.
Gruß Eberhard
AW: Makro für viele Zellbezüge in neuer Datei
01.08.2005 09:08:04
Hugo
Hallo Eberhard,
also mein ursprüngliches Problem hab ich bereits auf 'nem Umweg zum Teil gelöst. Jetzt brauche ich noch ein Makro, mit dem ich sämtliche Formeln verändern kann. Und zwar muss ich aus so einer Formel +'[NEU.xls]Sheet1'!D28 so eine hier machen: +INDIRECT("'["&$E$1&"]Sheet1'!D28"). Und da ich diese Änderung für einige 100 Zellen durchführen muss, brauche ich dafür halt ein Makro. Kann man das mit deiner Funktion vielleicht hinkriegen?
Besten Dank und schönen Gruß
Mathias
Anzeige
AW: Makro für viele Zellbezüge in neuer Datei
01.08.2005 17:32:46
Eberhard
Da ich ganz selten mit den Zellfunktionen arbeite, kann ich dir für
diesen Ansatz keine (schnele) Antwort geben.
Ich hatte das Ganze in einem Klassenmodul zum WorkSheet so angefangen:
(Voraussetzung: das erste Blatt heißt "sh1", das 2. Blatt heißt "Logfile").
im 2. Blatt werden alle Änderungen "mitgeschrieben"; momentan nur mit Blattname!
Die Arbeitsmappe kann ja leicht davor geschrieben werden.
z.B. so:
sText(1) = "workbooks(" & ThisWorkbook.Name & ")." & "sheets(" & Sh.Name & ").Range(" & _
usw.

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim rZiel As Range
Dim mText$   ' hier wird eine Msgbox-Anzeige vorbereitet (ggf. alles hierzu
' gehörende löschen !
Dim rC1 As Range, i%, sText(1 To 2) As String
If ActiveSheet.Name <> "sh1" Then Exit Sub ' Ausstieg, falls du im Log-Blatt
' etwas änderst
mText = "folgende Werte sind betroffen: " & vbLf & vbLf
mText = mText & "In Blatt " & Sh.Name & vbLf
On Error GoTo ErrorHdl
Sheets("Logfile").Activate
Set rZiel = Range("A:A").Find("") ' die erste freie Zeile im Logblatt suchen
i = 1
For Each rC1 In Target
mText = mText & "Bereich " & rC1.Address(False, False) & vbLf
sText(1) = "sheets(" & Sh.Name & ").Range(" & _
rC1.Address(False, False) & ")"
sText(2) = rC1.Value
Application.EnableEvents = False
rZiel = sText(1)
rZiel.Offset(0, 1) = sText(2)
i = i + 1
rZiel.Offset(1, 0).Activate
Set rZiel = ActiveCell
Next rC1
Application.EnableEvents = True
MsgBox mText   ' Die Message ggf. anzeigen
Sheets("sh1").Activate    ' das Blatt 1 wieder aktivieren
Exit Sub    ' Ende (im Normalfall - wenn kein Fehler vorliegt)
ErrorHdl:
Application.EnableEvents = True
MsgBox "Es ist folgender Fehler aufgetreten: " & Err.Description
End Sub

Momentan wird folgendes geschrieben:
workbooks(Logfile V1.0.xls).sheets(sh1).Range(A5) - d.h., da müssen noch so allerlei "Anführungsstriche" rein !!!
[z.B.
sText(1) = "Workbooks(""" & ThisWorkbook.Name & "")." & "sheets(""" & Sh.Name & "").Range(" & _
usw.

Ich hoffe, dass dich das Ganze nicht erschlägt - aber so kannst du - auch bei Massenänderungen (Reihe ausfüllen ...) alle Änderungen an einer anderen Stelle protokollieren (und später ggf. Auswerten)
bei Fragen bitte nochmal melden!
Gruß Eberhard

Anzeige
AW: Makro für viele Zellbezüge in neuer Datei
01.08.2005 17:44:16
Eberhard
hier ist die geänderte Zeile, damit die Zellangabe vollständig erzeugt wird:
sText(1) = "Workbooks(""" & ThisWorkbook.Name & """)." & "sheets(""" & Sh.Name & """).Range(""" & rC1.Address(False, False) & """)"
Gruß Eberhard
AW: Makro für viele Zellbezüge in neuer Datei
01.08.2005 17:44:26
Eberhard
hier ist die geänderte Zeile, damit die Zellangabe vollständig erzeugt wird:
sText(1) = "Workbooks(""" & ThisWorkbook.Name & """)." & "sheets(""" & Sh.Name & """).Range(""" & rC1.Address(False, False) & """)"
Gruß Eberhard
AW: Makro für viele Zellbezüge in neuer Datei
01.08.2005 17:44:43
Eberhard
hier ist die geänderte Zeile, damit die Zellangabe vollständig erzeugt wird:
sText(1) = "Workbooks(""" & ThisWorkbook.Name & """)." & "sheets(""" & Sh.Name & """).Range(""" & rC1.Address(False, False) & """)"
Gruß Eberhard
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige