Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1152to1156
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

Zelle suchen und Werte kopieren

Zelle suchen und Werte kopieren
Deister
Hallo alle zusammen,
Kurze Erklärung.
Auf der Seite Namens « Header » wird in den verbundenen Zellen A1:D1 ein Name (+/- 300 Namen verfügbar) mit Hilfe einer Scollbar ausgesucht. Anschließend werden in den nicht verbundenen Zellen A13:D32 Werte eingetragen.
In den Seiten „Database 1“ oder „Database 2“ oder „Database 3“ oder „Database 4“ sind alle Namen in Reihe 1 aufgelistet (auch in verbundenen Zellen z.B. A1:D1 = Anton; E1:H1 = Max; I1:L1 = Isidor ….)
Folgendes ist nun mein Problem:
Nachdem die Werte in den Zellen A13:D32 von Seite „Header“ eingetragen wurden, möchte ich sie mit Hilfe einer Makro zu den Seiten „Database 1“ bis „Database 4“ kopieren (paste special/values).
D.h. Der Name müsste in Zelle A1 von Seite „Header“ gelesen werden, anschließend in den Seiten „Database 1“ bis „Database 4“ in der ersten Reihe gesucht werden und dann sollten die Werte in die hundertste Reihe unter dem entsprechenden Namen kopiert werden.
Wäre dankbar wenn mir jemand zur Lösung meines Problems helfen könnte.
Mit freundlichen Grüßen
Ant

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Zelle suchen und Werte kopieren
05.05.2010 20:54:06
Fettertiger
Hi Ant,
bevor ich mich an die Arbeit mache, wollte ich nur mal abklären, dass ich das Richtig verstanden habe. Ich vermute nämlich Deine Datei hat einen Fundamentalen Design Fehler:
Wenn Du von Reihen sprichst meinst Du sicherlich "Zeile". Demnach müssten also in der ersten Zeile der Database tabellen jeweils +/- 300 Namen stehen. Da die Zellen verbunden sind "benötigt" jeder Name bei Dir 4 Zellen.
In Summe benötigst Du also 300 x 4 = 1200 Spalten pro Database Tabelle. Blöd nur das Excel 2003 nur 256 Spalten kann!
Mit 2007 ist das jedoch machbar. Wie sinnig die verwendung von verbunden Zellen ist, lass ich aber mal dahingestellt.
Grüße
Fettertiger
P.S Rückmeldung wäre nett
Anzeige
AW: Zelle suchen und Werte kopieren
06.05.2010 08:56:53
Deister
Hallo Fettertiger,
Deine Überlegungen sind ganz richtig. Doch die Datei soll bei uns im Netz für +/- 50 Benutzer verfügbar sein und die wenigsten haben schon Excel 2007.
Unter Reihen verstehe ich selbstverständlich Zeilen.
Da Excel 2003 nur 256 Spalten hat, muss ich das Ganze auf mehrere Seiten aufteilen. Dies sind die Seiten, welche „Database 1“ bis „Database 4“ heißen. Laut deinen Angaben (1200 / 256 = 4.69) muss ich dann noch eine fünfte Seite „Database 5“ hinzufügen.
Zurück zur Seite „Header“, welche eigentlich die Seite ist, in welcher die Benutzer Werte eingeben können.
Die verbundenen Zellen A1:D1 wo die Namen ausgewählt werden können, sind eigentlich Design. Doch die 4 Spalten welche dazu gehören, enthalten in den Zellen A13:D32 die eigentlichen Werte welche von den verschiedensten Benutzern eingetragen werden. Das ist der eigentliche Grund weshalb 4 Spalten zu einem Namen gehören.
Da die Werte aus den Zellen A13:D32 jeweils zu den Namen in den Seiten „Database 1“ bis „Database 5“ kopiert werden sollen, brauche ich ja dann auch hier 4 Spalten pro Name.
Du könntest mich gerechterweise jetzt noch fragen weshalb die Benutzer die Werte nicht sofort in die Seiten „Database 1“ bis „Database 5“ eingeben können. Nun, diese Seiten sind geschützt, so dass schon kopierte Werte nicht mehr von den Benutzern gelöscht werden können. Die Seite „Header“ werde ich auch so auslegen, dass nur bestimmte Benutzer (laut Log-in Name und zusätzlichem Passwort) hier Werte eingeben können.
Mit freundlichen Grüßen
Ant
Anzeige
Als zusätzliche Info ...
06.05.2010 09:05:29
Deister
... muss ich noch sagen, dass die Lösung zu meinem Problem nur ein Teil meines Codes sein wird. Blattschutz aufheben, sortieren, automatisches scrollen zu den Namen in den Databaseseiten u.s.w. bekomme ich normalerweise selbst hin.
MfG
Ant
AW: Als zusätzliche Info ...
07.05.2010 10:56:22
fcs
Hallo Ant,
hier ein Makro, das eine entsprechende Such- und Kopieraktion ausführt.
Gibt es einen plausiblen Grund, warum du deine "Datenbank" so aufbaust (4 Spalten pro Datensatz)?
Das widerspricht jedem vernüftigen Datenbankaufbau.
Sinnvoller Weise würdest du pro Name eine Zeile mit Daten/Formeln füllen.
Dann wird das gesamte Datenhandling um Größenordnungen einfacher. Excel ist nun einmal extrem Zeilen-Spalten-orientiert, wobei in einer Datenbank in Zeile1 (oder einer anderen Zeile) die Feldnamen(Spaltentitel) stehen und in den Zeilen darunter dann die Daten/Formeln.
Gruß
Franz
Sub DataBase_Aktualisieren()
Dim wksHeaders As Worksheet, wksDatabase As Worksheet, SpalteDB As Long
Dim sName As String, Zelle As Range, bolFound As Boolean
Set wksHeaders = Worksheets("Headers")
sName = wksHeaders.Cells(1, 1) 'Name aus A1 auslesen
'Blätter in Mappe abarbeiten
For Each wksDatabase In ActiveWorkbook.Worksheets
'Name des Blatts prüfen
If LCase(Left(wksDatabase.Name, 8)) = "database" Then
'Name in Zeile 1 suchen
Set Zelle = wksDatabase.Rows(1).Find(what:=sName, LookIn:=xlValues, lookat:=xlWhole)
If Not Zelle Is Nothing Then
bolFound = True
SpalteDB = Zelle.Column 'Einfüge-Spalte ermitteln
'Datenbereich kopieren nach Zeile 100 - nur Werte
wksHeaders.Range("A13:D32").Copy
With wksDatabase
.Unprotect
.Cells(100, SpalteDB).PasteSpecial Paste:=xlPasteValues
.Protect
End With
Application.CutCopyMode = False
Exit For
End If
End If
Next
If bolFound = False Then
MsgBox "Name """ & sName & """ wurde in den Database-Blättern nicht gefunden"
End If
End Sub

Anzeige
Danke Franz ....
07.05.2010 15:38:33
Deister
.... dein Code klappt prima.
Der Grund weshalb ich in diese Richtung arbeiten will (wenigstens im Moment muss), ist der, dass schon eine solche Art Datenbank besteht und diese mit tausenden von Werten gefüttert ist. Sie wurde bis jetzt von Hand zu Fuss gepflegt und manchmal wurden dann auch Werte den falschen Namen zugeordnet.
Kurzfristig ist diese provisorische Lösung am besten um die Eintragungen zu vereinfachen und sicher zu stellen, dass sie den richtigen Namen zugeordnet werden.
Ich hoffe nur dass dieses Provisorium nicht für immer gelten wird ;-)
Mit freundlichen Grüssem aus Luxemburg
Ant
Anzeige

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige