Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
544to548
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
544to548
544to548
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Richtig referenzieren

Richtig referenzieren
12.01.2005 22:04:32
Fritz
Liebe Excel-Könner.
Mit dem folgenden Testcode habe ich versucht, Daten von einem Tabellenblatt in ein anderes zu befördern.
Es funzt zwar, aber ich würde dies gerne tun, ohne ständig zwischen den Blättern hin- und herzuhopsen, kriege aber die Referenzierung nicht auf die Reihe.
Zur Info: Beim Öffnen der Mappe wird das Blatt Sheets("Daten") selektiert. Ich würde gern erreichen, dass sich gar nichts mehr bewegt :-)

Sub VonEinerInDieAndere()
Dim zdat As Integer, zdr As Integer, wksdat As Worksheet, wksdr As Worksheet, zdatgefunden As Boolean
Set wksdat = Sheets("Daten")
Set wksdr = Sheets("DR")
wksdat.Activate
zdat = ActiveCell.Row
wksdr.Activate
zdr = wksdr.Cells(Rows.Count, 1).End(xlUp).Row + 1
With wksdat
Cells(zdr, 1).Value = .Cells(zdat, 1)
Cells(zdr, 3).Value = .Cells(zdat, 4)
End With
wksdat.Select
End Sub

Ich danke schon mal recht herzlich für Eure Mühe.
Grüße, Fritz

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Richtig referenzieren
12.01.2005 22:19:25
Josef
Hallo Fritz!
Da du mit "ActiveCell" arbeitest, geht's nicht ohne ein ".Activate" !
Wenn du allerdings die Zeile auch anders übergeben kannst, wäre das
zu empfelen, weil so leicht eine falsche Zeile gewählt werden kann!

Sub VonEinerInDieAndere()
Dim zdat As Integer, zdr As Integer
Dim wksdat As Worksheet, wksdr As Worksheet
'Dim zdatgefunden As Boolean
Set wksdat = Sheets("Daten")
Set wksdr = Sheets("DR")
wksdat.Activate
zdat = ActiveCell.Row
zdr = wksdr.Cells(Rows.Count, 1).End(xlUp).Row + 1
With wksdat
wksdr.Cells(zdr, 1).Value = .Cells(zdat, 1)
wksdr.Cells(zdr, 3).Value = .Cells(zdat, 4)
End With
End Sub

Gruß Sepp
Anzeige
AW: Richtig referenzieren
12.01.2005 22:37:33
Fritz
Hallo Sepp, hallo Rainer.
Ich arbeite mit "ActiveCell", weil ich das wenigstens etwas kann. Ich kann Daten des Blattes zwar inzwischen ganz gut in Textboxen verfrachten ohne zu selektieren, aber von Tabellenblatt zu Tabellenblatt fehlt's mir an Verstehe.
Wenn da noch ein Tipp drin wäre, würde ich mich sehr freuen.
Danke Reiner für die Links. Ja, das habe ich auch auf meiner CD von HH und da habe ich auch meine Grundkenntnisse her. Ist mir aber zum Teil noch zu hoch. Ich kriege meinen Level beim besten Willen nicht mehr höher ;-(
Schönen Dank Euch Beiden.
Gruss, Fritz
Anzeige
AW: Richtig referenzieren
12.01.2005 22:41:51
Josef
Hallo Fritz!
Nach welchen Kriterien wählst du "ActiveCell"?
Danach könnte man vielleicht per Code suchen!
Gruß Sepp
AW: Richtig referenzieren
12.01.2005 23:16:12
Fritz
Hallo Sepp,
Das sind so die peinlichen Fragen. Ich muss erstmal versuchen, selbst zu kapieren, was ich da in den letzten Tagen so gebaut habe. Ich habe nämlich den gesamten Code meiner älteren Anwendung versucht, von select zu befreien, was mir auch einigermaßen gelungen zu sein scheint. Aber ich kann's noch nicht erklären (Trial and Error).
Ich sehe mir die Sache noch mal an und melde mich, wenn ich selbst besser weiß, ewas ich gemacht habe. Vielleicht habe ich dann ja selbst noch mal einen Geistesblitz.
Danke noch mal.
Grüße, Fritz
Anzeige
AW: Richtig referenzieren
Fritz
Hallo Sepp.
Über eine Textbox in einem UF suche ich einen bestimmten Datensatz und selektiere eine Zelle in der Reihe ( Geschäftszeichen in Spalte 1 oder Nachname in Spalte 4). Mit r = Activecell.Row und dann Cells(r, 5) bis Cells(r, 130) oder so fülle ich dann das UF.
Bisher werden bei Wechsel des Datensatzes allerdings nur die Textboxen gefüllt, deren Inhalt ich dann teilweise auch als Quelle für z.B. Briefinhalte odgl. nutze.
Mein Anliegen von heute war, z.B. den Inhalt der Zelle A5 (D5 ist markiert) des Tabellenblattes "Daten" in einer Variablen zu speichern und deren Inhalt dann an der Stelle cells(Rows.Count, 1).End(xlUp).Row + 1 in dem Tabellenblatt "DR" abzulegen.
Es ging ja, aber mir kommt das ein wenig umständlich vor und ich hatte gehofft, dass man das eleganter hinbekommt, ohne das Tabellenblatt "DR" zu aktivieren.
Konnte man das verstehen?
Danke für Deine Mühe
Gruß, Fritz
Anzeige
AW: Richtig referenzieren
13.01.2005 00:08:10
Josef
Hallo Fritz!
Dann könnte man den Inhalt der Textbox zur suche verwenden!
ZB.:

Sub VonEinerInDieAndere()
Dim rFind As Range
Dim zdr As Integer, wksdat As Worksheet, wksdr As Worksheet
Set wksdat = Sheets("Daten")
Set wksdr = Sheets("DR")
Set rFind = wksdat.Range("A:A").Find(What:=hierdieVariablevondeinerTextbox)
If Not rng Is Nothing Then
zdr = wksdr.Cells(Rows.Count, 1).End(xlUp).Row + 1
With wksdat
Cells(zdr, 1).Value = .Cells(rFind.Row, 1)
Cells(zdr, 3).Value = .Cells(rFind.Row, 4)
End With
End If
End Sub

Gruß Sepp
AW: Richtig referenzieren
13.01.2005 00:33:16
Fritz
Hallo Sepp.
Ich bekomme die Fehlermeldung (1004), die Find-Eigenschaft des Range-Objektes kann nicht zugeordnet werden
Aber ich denke, das kriege ich irgendwann selbst hin, denn in ähnlicher Art habe ich das schon gemacht. Der Rest wird mir dann weiterhelfen.
Hab vielen Dank
Gruß, Fritz
Anzeige
OT Verwechslung
PeterW
Hallo Fritz,
es tut zwar etwas weh, kann aber fast eine Ehre sein, mit Rainer verwechselt zu werden, je nachdem, welcher denn gemeint ist. ;-)
Gruß
Peter
Leise rieselt der Kalk......
12.01.2005 23:27:17
Fritz
Au weia.
Tur mir leid, Peter, das müssen präsenile Denkstörungen gewesen sein. Aber es war der richtige Rainer in meinem Resthirn - Ramses. Ich hoffe, dass Du damit einigermaßen leben kannst und hoffe, dass Du mir trotzdem weiter - wie schon so oft - unter die Arme greifst.
Tschuldugung.
gruß, Fritz

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige