Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
900to904
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
900to904
900to904
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Adressliste mit Datei updaten

Adressliste mit Datei updaten
24.08.2007 19:35:00
Tom
Hallo Leute,
ich bin seit einiger Zeit damit beschäftigt eine Adressliste (Datenbank.xls) mit Excel zu erstellen,
die sich mit einer 2. Datei (gleiche Struktur aber weniger Zeilen) updaten läßt.
Wenn bestimmte Inhalte schon vorhanden (gleich) sind sollen die Informationen in dieser Zeile
aktualisiert werden. Die Aufgabe habe ich in einem extra Tabellenblatt veranschaulicht.
Leider werden die geänderten Zeilen nicht nur aktualisiert sondern auch ein zweites Mal eingefügt,
ich habe erst vor einigen Tagen angefangen mich mit VBA zu beschäftigen und habe wohl einen
Fehler bei der Schleifenauswertung gemacht.
Bitte helft mir ...
Meine beiden Datein sind hier:
https://www.herber.de/bbs/user/45377.zip
Kann man den prozentualen Inhalt von bestimmen Inhalten (Anzahl: Ja/Nein) in einer Spalte
mit einem Macro auswerten - damit die Formel nach einer Aktulisierung nicht immer manuel auf den
größeren gefüllten Bereich der Tabelle angepaßt werden muß?
Ich bin für jeden Hinweis dankbar.
Tom

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Adressliste mit Datei updaten
25.08.2007 03:51:00
fcs
Hallo Tom,
da fehlen in der inneren For-Next-Schleife der Workbook_Open-Prozedur ein paar "Exit For" - Anweisungen, die nach dem Aktualisieren/Eintragen der Daten eines Datensatzes in der Datenbankdatei die Schleife verlassen, um den nächsten Datensatz aus der Maklerdatei abzuarbeiten.
Die Befehle zum Erstellen der Sicherungskopie der Datei beim Öffnen kann man etwas geschickter anordnen und vereinfachen.
Generell ist es einfacher/übersichtlicher ein Tabellen-Objekt zu deklarieren und definieren, statt immer die koplette Objektbeschreibung in vielen Zeilen anzugeben.
"Workbooks(MDatName).Worksheets(Tab1)" wird dann z.B. zu "wksM_Adressen" verkürzt.
In den beiden Text-Dateien ist der angpasste Code für die Workbook_Open-Prozedur der beiden Dateien.
Da mein Excel97 den VBA-Befehl "Replace" nicht kennt, musste ich die Anweisungen zur Umformung von Uhrzeit und Datum für den Namne der Sicherungskopie etwas modiifzieren.
Code Maklerdatei: https://www.herber.de/bbs/user/45381.txt
Code DatenbankDatei: https://www.herber.de/bbs/user/45382.txt
Du kannst Werte in VBA auch mit den Tabellenfunktionen von Excel-Berechnen oder erstellst benutzerdefinierte Funktionen die gewünschten Werte berechnen.
Beispiel:

With wksDB_Termine
LastRow = .Cells(.Rows.Count, 2).End(xlUp).Row
End With
With Application.WorksheetFunction
'Auswertung Norddeutschland
'Besuche pro Woche
wksDB_Auswertung.Range("C4") = .CountIf(wksDB_Termine.Range("$B$11:B" & LastRow), _
wksDB_Auswertung.Range("B4")) / ((.Max(wksDB_Termine.Range("$I$11:I" & LastRow)) _
- .Min(wksDB_Termine.Range("I$11:I" & LastRow))) / 7)
End With
Function Zusammenarbeit(rngMarktbetreuer As Range, strMarktbetreuer$, rngZusammenarbeit As  _
Range, strWert$) As Integer
Dim i
For i = 1 To rngMarktbetreuer.Rows.Count
If rngMarktbetreuer(i) = strMarktbetreuer And rngZusammenarbeit(i) = strWert Then
Zusammenarbeit = Zusammenarbeit + 1
End If
Next
End Function


Bei komplexen Formel funktioniert die Auswertung per Tabellenfunktion in VBA nicht immer.
Die einfachere Lösung ist wahrscheinlich, die Berechnungsformeln per Makro an die jeweilige Zeilenzahl im Blatt Termine anzupassen.
Gruß
Franz

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige