Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1260to1264
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

Import bestimmter Zellen

Import bestimmter Zellen
Black-Mage
Huhu ihr lieben, ich hab im Archiv bissel geschaut, aber leider wohl das passende übersehen.
Zum zu erklären was ich will ist, ich arbeite für ein Rollenspiel bzw dessen ganzen Tabellen und Regeln, an einem Charakterblatt. Um so wenig wie müglich die Regelbücher zu wälzen, um mit eintragen von Werten, schon alles ausgerechnet zu bekommen.. Das zum Hintergrund.
Das mach eich nun schon eine ganze weile, und habe nach und nach einige Versionen dieses "Tools" nenn ich es mal in benutzung gehabt, immer mal wieder erweitert. Die letzte änderung ist bei einigen Spielern schon einige Versionen zurück. Und ich würde nun mal wieder eine neueere Version nutzen, weil ja nun wie gesagt, viel dazu gekommen ist.
Ich bräuchte nun also die Möglichkeit meine aktuelle Version zu nehmen, und eines der alten Versionen zu öffnen oder irgendwie einzulesen. Dabei brauche ich nicht ganze Spalten oder Blätter von kopien, sondern von den 5 Seiten die ich habe. Unterschiedliche Zellen. Bei dem einen sind es hier und da vereinzelt welche.
(Z,b. Den level des Chars, oder der Name, Aussehen etc.) also wenige Zellen, in einem andren Blatt brauche ich alle Werte die von ka 10-78 in step 2 in AH stehen oder sowas.
Also eine Vollkopie ist nicht das benötigte. Wie macht man denn sowas, das ich eine Datei auswähle und dann bestimmen kann die und die Zellen die und die Spalte, bitte hier hin kopieren.
Da ich das ja alles gebastelt habe, mit den Tabellen und die alten Versionen noch habe, bzw sich am GRundgerüst nichts geändert hat, nur Code im Hintergrund oder andre Berechnungen dürfte das kein Problem sein oder?
Ka ob es wichtig ist, die Blätter haben zu beginn einen Schreibschutz, und Zellen in denen Formeln stehen oder durch VBA eingetragen werden, sind natürlich auch Schreibgeschützt (bzw durch den Schreibschutz des Blattes).
Ich hoffe ihr wisst was ich meine? :)

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Import bestimmter Zellen
16.05.2012 15:26:35
fcs
Hallo Black-Mage,
lege von der neuen Version eine Musterdatei an, in der alle Zellen/Zellbereich leer sind, die mit Daten aus den Altversionen gefüllt werden sollen.
Wenn immer die identischen Zellen/Zellbereiche übernommen werden sollen, dann kann man per Makro die Datenübernahme automatisieren.
Nachfolgend ein Beispiel, das du bezüglich Dateinamen/Blattnamen und der Zellbereiche anpassen und erweitern muss.
Gruß
Franz
Sub VersionsUpdate()
Dim wbNeu As Workbook, wbAlt As Workbook
Dim wksN As Worksheet, wksA As Worksheet
Dim varAuswahl, strFileNeuMuster As String, StatusCalc As Long
'Alte Version öffnen
With Application.FileDialog(msoFileDialogOpen)
.Title = "Bitte Datei mit alten Versionsdaten öffen"
.FilterIndex = 2
If .Show = -1 Then
'ALte Version schreibgeschütz öffnen
Set wbAlt = Workbooks.Open(Filename:=.SelectedItems(1), ReadOnly:=True)
varAuswahl = wbAlt.Name
Else
GoTo Beenden
End If
End With
'Makrobremsen lösen
With Application
.EnableEvents = False
.ScreenUpdating = False
StatusCalc = .Calculation
.Calculation = xlCalculationManual
End With
'Name der Musterdatei für neue Version
Application.DisplayAlerts = False
strFileNeuMuster = "D:\Test\MasterVersionNeu.xlsm"
'Muster schreibgeschützt öffnen
Set wbNeu = Workbooks.Open(Filename:=strFileNeuMuster, ReadOnly:=True)
Application.DisplayAlerts = True
'Daten aus 1. Tabellenblatt übernehmen
'Zielblatt in neuer Datei setzen
Set wksN = wbNeu.Worksheets(1)
'Quellblatt in alter Datei setzen
Set wksA = wbAlt.Worksheets(1)
'Blattschutz der beiden Blätter aufheben
wksN.Unprotect 'ggf. Parameter Password ergänzen
wksA.Unprotect 'ggf. Parameter Password ergänzen
'Werte der Zellen/Zellbereiche übertragen
With wksN.Range("C2")
.Value = wksA.Range(.Address).Value
End With
With wksN.Range("B9:D11")
.Value = wksA.Range(.Address).Value
End With
wksN.Protect 'hier ggf noch Parameter für Schutz ergänzen
'Daten aus 2. Tabellenblatt übernehmen
'Zielblatt in neuer Datei setzen
Set wksN = wbNeu.Worksheets(2)
'Quellblatt in alter Datei setzen
Set wksA = wbAlt.Worksheets(2)
'Blattschutz der beiden Blätter aufheben
wksN.Unprotect 'ggf. Parameter Password ergänzen
wksA.Unprotect 'ggf. Parameter Password ergänzen
'Werte der Zellen/Zellbereiche übertragen
With wksN.Range("A3")
.Value = wksA.Range(.Address).Value
End With
With wksN.Range("D2:H36")
.Value = wksA.Range(.Address).Value
End With
wksN.Protect 'hier ggf noch Parameter für Schutz ergänzen
'usw. für weitere Blätter
'Altversion ohne speichern schliessen
wbAlt.Close savechanges:=False
wbNeu.Activate
Application.ScreenUpdating = True
'Neuversion speichern
varAuswahl = Application.Dialogs(xlDialogSaveAs).Show("Neu_" & varAuswahl)
If varAuswahl = False Then GoTo Beenden
Beenden:
'Makrobremsen zurücksetzen
With Application
.EnableEvents = True
.ScreenUpdating = True
.Calculation = StatusCalc
End With
End Sub

Anzeige
AW: Import bestimmter Zellen
16.05.2012 18:43:31
Black-Mage
dankeschön, sehr nett von dir ;)
schönen Feiertag, ich versuch den Code später mal

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige