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

Bereiche mit VBA kopieren

Bereiche mit VBA kopieren
25.06.2003 14:26:37
Helga
Hallo Leute,

ich bin’s mal wieder, die um eure Hilfe bittet. Dank euch werde ich zwar immer besser in VBA, doch dieses mal benötige ich wieder Hilfe.

Im Arbeitsblatt „Ausgabe“ in Spalte D und zwar von D14 bis D1214 werden nacheinander Werte eingegeben. Nun möchte ich nicht, dass die Berechnungen jemand sieht und habe die Berechnungen im Arbeitsblatt „Berechnungen“ gelegt. Dieses Arbeitsblatt „Berechnungen“ werde ich hinterher ausblenden.

Nun möchte ich, wenn ich im Arbeitsblatt „Ausgabe“ in der Spalte „D“ einen Wert eingebe, gewisse Bereiche aus dem Arbeitsblatt „Berechnungen“ in das Arbeitsblatt „Ausgabe“ übertragen werden. Ich nenne euch jetzt mal einen Bereich, wenn ihr mir dann die Lösung sagt, kann ich die anderen Bereiche ja genauso übertragen lassen.

Also jedesmal, wenn ich im Arbeitsblatt "Ausgabe" in Spalte "D" einen Wert eingebe sollen Werte aus dem Bereich „Berechnungen E14:E1214“ dann in den Bereich „Ausgabe F14:F1214“ übertragen werden.

Für euch sicherlich ein „Pups“, aber für mich :-((

Gruß
Helga



9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Bereiche mit VBA kopieren
25.06.2003 14:38:46
Andi_H

hi helga,

wenn die bereiche nicht variabel sein sollen, dann würd ich des mal mit dem Makrorecorder aufzeichnen

gruß

andi

@Andi
25.06.2003 15:02:22
Helga


Hi Andi,

die Bereiche sollen aber automatisch übertragen werden und zwar immer dann, wenn ein neuer Wert im Arbeitsblatt "Ausgabe" in der Spalte "D" eingetragen wurde.

Gruß
Helga

Re: @Andi
25.06.2003 15:13:31
Andi_H

sorry, zu schnell gelesen
ok, dann in dem sheet ausgabe folgenden Code hinterlegen im Worksheet_Change ereignis

bei call dann das aufgezeichnete Makro welches die Zellen überträgt laufen lassen oder den Code direkt in die ifbedingung einfügen. sollte irgendwie so aussehen:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 4 Then
call ' name des aufgezeicneten makros
End If
End Sub

hilft dir das weiter?

Gruß

andi

Anzeige
Re: @Andi
25.06.2003 15:39:18
Andi_H

so und gleich nochmal

hier der Code zum übertragen der Daten

Sub daten_übertragen()
Dim a As Worksheet
Dim b As Worksheet
Set a = Sheets("Ausgabe")
Set b = Sheets("Berechnungen")
Range(b.Cells(14, 5), b.Cells(1214, 5)).Copy
Range(a.Cells(14, 5), a.Cells(1214, 5)).PasteSpecial
End Sub

gruß aus regensburg

andi

Re: @Andi
25.06.2003 15:39:18
Andi_H

so und gleich nochmal

hier der Code zum übertragen der Daten

Sub daten_übertragen()
Dim a As Worksheet
Dim b As Worksheet
Set a = Sheets("Ausgabe")
Set b = Sheets("Berechnungen")
Range(b.Cells(14, 5), b.Cells(1214, 5)).Copy
Range(a.Cells(14, 5), a.Cells(1214, 5)).PasteSpecial
End Sub

gruß aus regensburg

andi

Anzeige
Re: @Andi
25.06.2003 15:59:32
Helga

Hallo Andi,

habe es jetzt wie folgt gemacht:


Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 4 Then
Dim a As Worksheet
Dim b As Worksheet
Set a = Sheets("Ausgabe")
Set b = Sheets("Berechnungen")
Range(b.Cells(14, 5), b.Cells(1214, 5)).Copy
Range(a.Cells(14, 5), a.Cells(1214, 5)).PasteSpecial
End If
End Sub


jedoch tut sich nichts, wenn ich in Spalte "D" etwas eingebe. Wo habe ich einen Fehler gemacht?

Gruß
Helga

Re: @Andi
25.06.2003 16:22:44
Andi_H

hi helga,

kann es sein das du den Code in ein Modul geschrieben hast?
Klicke mal mit recht auf den Reiter des sheets Ausgabe (unten links, Tabellenblätter auswählen) und dann auf Code anzeigen.
Dann erscheint der VBA-Editor, combobox oben rechts umstellen von SelectionChange auf Change und dann den Code rein.

Ich habs bei mir ausprobiert und da gehts.

Versuch das mal, notfalls schicke mir mal die Datei an email@andi-huber.com, dann schau ich mir das mal an.

Gruß

Andi

Anzeige
Re: @Andi
25.06.2003 18:26:18
Helga

Hallo Andi,

habe es inzwischen wie folgt geregelt.

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 4 Then
Call Kopiere
End If
End Sub

Das funzt prima. Nun meine Frage an Dich als Spezialist; in dem Arbeitsblatt “Auswertung” brauche ich bloß auf Code anzeigen zu gehen und schon wird mir der Code angezeigt. Nun möchte ich aber keine Verbindung zu meiner Arbeitsmappe „Berechnung“ sichtbar machen, da ich diese ja hinterher ausblenden möchte. Daher nun mein nachfolgender Gedanke; wie stelle ich es an, das ich das Makro „Kopiere“ in die Arbeitsmappe „Berechnung“ integriere? Die Arbeitsmappe „Berechnung“ erhält ja ihre Werte aus der Arbeitsmappe „Auswertung“ in Spalte „D“.

Wenn ich nun obige Prozedur in das Arbeitsblatt „Berechnung“ eingebe, wartet diese ja auf eine Eingabe in Spalte „D“. Diese geschieht aber nicht, weil es ja die Daten aus der Arbeitsmappe „Auswertung“ erhält.

Kompliziert?

Gruß
Helga


Anzeige
Re: @Andi
25.06.2003 21:48:53
Andi_H

hi helga,

blende mal das sheet berechnung aus und mache eine eingabe in auswertung Spalte d, kann evtl probleme mach wenn ausgeblendet.
In diesem Fall einfach am anfang von "kopieren" das sheet einblenden und am ende wieder ausblenden.

zu deiner frage:

bei welchem ereignis soll ein makro gestartet werden??

integrieren ist kein problem, nur wann soll das makro starten

kannst dir ja mal die ereignisse im vb editor anschauen ob hier was brauchbares dabei ist

gruß

andi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige