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

Kopieren und Einfügen Abhängig von Zellenwert

Kopieren und Einfügen Abhängig von Zellenwert
Zellenwert
Guten morgen und Hallo,
bisher finde ich keine Hilfe für mein Excelproblem, weder ist mir selber was eingefallen, noch habe ich im www eine Lösung gefunden.
Eigentlich ist es nicht komplex was ich will und ich denke jemanden fällt sofort eine Lösung ein, ich nehme auch gerne VBA-Codes.
Was ich möchte ist, das Zellenwerte in Abhängigkeit zu einem bestimmten Zellenwert in bestimmte Zellenbereiche als Speicherfunktion kopiert werden.
Beispiel: Zelle A1 kann den Wert 1,2,3,... bis 10 haben,
ist A1 = 1, dann sollen die Zellenwerte B1 bis B10 durch ein Makro kopiert und bei E1 bis E10 gespeichet werden, ist A1 = 2 dann sollen die Zellenwerte bei ausführen des Makros "Speicher" in F1 bis F10 gespeicher werden und für A1 = 3 dann G1 bis G10 und soweiter bis A1 = 10 gleich in N1 bis N10 gespeicht wird.
Freue mich auf eure Antworten und Lösungen, meine Tabelle würde sehr viel Komfortabler, da ich so eine Eingabemaske für alle zehn Fälle nutzen könnte A1 würde dann über Daten und Gültigkeit eine Auswahlliste sein.
Danke schon mal und die nächste Frege brennt mir auch schon...
AW: Kopieren und Einfügen Abhängig von Zellenwert
14.03.2010 08:58:49
Zellenwert
Moin,
das kann man z.B. so machen:
Option Explicit
Sub sichern()
Dim x As Long
x = Range("A1")
If Not IsNumeric(x) Then Exit Sub
If x  10 Then Exit Sub
Range("B1:B10").Copy Range("E1:E10").Offset(0, x)
End Sub
Gruss- Micha
AW: Kopieren und Einfügen Abhängig von Zellenwert
14.03.2010 12:20:14
Zellenwert
Hallo Micha,
danke für deine Antwort, ich hoffe du hilfst mir noch etwas den Code weiter anzupassen.
Der Zelleninhalt A1 ist nich wirklich eine Zahl, sonder einer von zehn Buchstabenkürzel, z.B. ÜWH, ÜWB..., die Zahlen habe ich nur der Einfachkeit halber im Beispiel genannt.
Das Kürzel wird aus einer Liste heraus in der Zell A1 angewählt, also können wohl die Zeilen:
If Not IsNumeric(x) Then Exit Sub
If x 10 Then Exit Sub
entfallen. Die Zellenbereiche habe ich auch angepasst.
Dann sieht der Code so aus:
Sub Speichern()
' Speichern Makro
' Makro vom 14.03.2010
Dim x As Long
x = Range("A1")
Range("D12:D107").Copy Range("E12:E107").Offset(0, x)
End Sub
Nun ist mir aber noch nicht klar, wie das klappen kann, bzw. was noch hinzu kommen muss damit, wenn in A1 also z.B. ÜWH steht beim ausführen der Prozedur, der Zellenbereich (- jetzt B12:B107) in E12:E107 kopiert wird.
Anschließend will ich ja in A1 z.B. ÜWB anwählen, die Werte des Zellenbereichs B12:B107 ändern und den Inhalt in Spalte F12:F107 speicher, wobei kopieren hierfür das bessere Wort ist, denn gespeicher wird am Ende die komplette Mappe über das Menü.
Die Kopierfunktion soll also wie Beschrieben für zehn Fälle funktionieren und über einen Button den Zelleninhalt B12:B107 in die jeweilige Spalte Transportieren.
Vieleicht kannst du den Code noch etwas präzisieren, was bedeutet der Befehl Offset(0,x)?
Gruß Mirko
Anzeige
AW: Kopieren und Einfügen Abhängig von Zellenwert
14.03.2010 12:34:07
Zellenwert
Um mich nochmal genauer auzudrücken,
in einer Funktion würde ich das so schreiben:
WENN(copybutton(True)then;WENN(A1=ÜWH;copyB12:B107;pasteE12:E107);WENN(A1=ÜWB;copyB12:B107;pasteE12:107)WENN... ))) u.sw.
hoffe das verdeutlicht mein Anliegen etwas.
Gruß Mirko
AW: Kopieren und Einfügen Abhängig von Zellenwert
14.03.2010 12:51:00
Zellenwert
Hallo,
dann so. Die Zelle darf nicht leer sein, aber wie das Abgefragt wird steht ja im ersten Code.
Option Explicit
Sub Speichern()
Dim wert As Variant
Dim alle_werte As Variant
Dim pos_des_wertes As Double
alle_werte = Array("AAA", "BBB", "CCC", "DDD") 'musst Du mit Deinen Abkürzungen anpassen
wert = Range("A1")
pos_des_wertes = WorksheetFunction.Match(wert, alle_werte)
Range("D12:D107").Copy Range("E12:E107").Offset(0, pos_des_wertes)
End Sub

Zu Offset: Gehe mit dem Cursor rauf und drücke dann F1. Es öffnet sich ein Hilfefenster mit einer Beschreibung....
Wenn Du range("A1").offset(3,4) schreibst, dann meinst Du die Zelle die 3 Zeilen unter und 4 Spalten neben A1 ist.
Anzeige
AW: Kopieren und Einfügen Abhängig von Zellenwert
14.03.2010 13:16:17
Zellenwert
Hallo MichaV,
danke das du meine Fragen weiterhin beantwortest, bin noch nicht ganz durch mit dem Code, der sieht nun so aus:
Sub Speichern()
Dim wert As Variant
Dim alle_werte As Variant
Dim pos_des_wertes As Double
alle_werte = Array("ÜWH", "ÜWB", "ÜSH", "ÜSB", "SWX", "SSX", "WWH", "WWB", "WSH", "WSB") 'musst  _
Du mit Deinen Abkürzungen anpassen
wert = Range("C1")
pos_des_wertes = WorksheetFunction.Match(wert, alle_werte)
Range("D12:D107").Copy Range("E12:E107").Offset(0, pos_des_wertes)
Range("D12:D107").Copy Range("F12:F107").Offset(0, pos_des_wertes)
Range("D12:D107").Copy Range("G12:G107").Offset(0, pos_des_wertes)
Range("D12:D107").Copy Range("H12:H107").Offset(0, pos_des_wertes)
Range("D12:D107").Copy Range("I12:I107").Offset(0, pos_des_wertes)
Range("D12:D107").Copy Range("J12:J107").Offset(0, pos_des_wertes)
Range("D12:D107").Copy Range("K12:K107").Offset(0, pos_des_wertes)
Range("D12:D107").Copy Range("L12:L107").Offset(0, pos_des_wertes)
Range("D12:D107").Copy Range("M12:M107").Offset(0, pos_des_wertes)
Range("D12:D107").Copy Range("N12:N107").Offset(0, pos_des_wertes)
End Sub
Soll ich bei Offset die Zelle E12 in Zeilen und Spalten eintragen, - kann da nicht einfach paste stehen?
Range("D12:D107").Copy Range("E12:E107").Offset(0, pos_des_wertes)
...und woher weiß das Makro, welche Spalte zu welchem Kürzel gehört?
Die Zelle A1 hat sich in C1 geänder. Ich hoffe du gibst mir noch den Entscheidenen Hinweis.
Gruß Mirko
Anzeige
AW: Kopieren und Einfügen Abhängig von Zellenwert
14.03.2010 13:27:14
Zellenwert
Lösche die Zeilen:
Range("D12:D107").Copy Range("F12:F107").Offset(0, pos_des_wertes)
Range("D12:D107").Copy Range("G12:G107").Offset(0, pos_des_wertes)
Range("D12:D107").Copy Range("H12:H107").Offset(0, pos_des_wertes)
Range("D12:D107").Copy Range("I12:I107").Offset(0, pos_des_wertes)
Range("D12:D107").Copy Range("J12:J107").Offset(0, pos_des_wertes)
Range("D12:D107").Copy Range("K12:K107").Offset(0, pos_des_wertes)
Range("D12:D107").Copy Range("L12:L107").Offset(0, pos_des_wertes)
Range("D12:D107").Copy Range("M12:M107").Offset(0, pos_des_wertes)
Range("D12:D107").Copy Range("N12:N107").Offset(0, pos_des_wertes)
Das Makro weiss das durch die Funktion MATCH. Wenn Du "WWH" eingetragen hast, dann ist pos_des_wertes = 7 weil WWH an 7. Stelle im Array werte steht. Und dann wird der Bereich D12:D107 sieben Spalten neben den Bereich N12:N107 kopiert. Versuch den Code mal zu lesen, so schwer ist das doch nicht?!
Gruss- Micha
Anzeige
AW: Kopieren und Einfügen Abhängig von Zellenwert
14.03.2010 15:49:06
Zellenwert
Ich hoffe Du hast mein "so schwer ist das doch nicht?!" nicht in den falschen Hals bekommen ;o)
Ne Rückmeldung wäre noch nett.
Gruss- Micha
AW: Kopieren und Einfügen Abhängig von Zellenwert
14.03.2010 21:13:19
Zellenwert
Hallo Micha,
bin noch mit anderen Dingen heute beschäftigt gewesen, und da der Code nicht auf anhieb wirkte, musste ich das bis eben etwas zurückstellen.
Habe nun damit ein bisschen rum probiert, mit lesen ist klar ... also wenn keine Ahnung vorhanden ist, dann geht da nichts. Konnte mir aber manches herleiten die definition und so, aber um das umzubauen fehlt mir einfach das Wissen und das kann ich mir auch nicht kurzfristig generieren.
Habe den Code nun so eingebaut:
Sub Speichern()
Dim wert As Variant
Dim alle_werte As Variant
Dim pos_des_wertes As Double
alle_werte = Array("ÜWH", "ÜWB", "ÜSH", "ÜSB", "SWX", "SSX", "WWH", "WWB", "WSH", "WSB") 'musst  _
_
Du mit Deinen Abkürzungen anpassen
wert = Range("A1")
pos_des_wertes = WorksheetFunction.Match(wert, alle_werte)
Range("D12:D107").Copy Range("E12:E107").Offset(0, pos_des_wertes)
End Sub

...leider passiert nichts, rein garnix, nicht mal ein Bug kommt.
Werden aber auch keine Zellen irgendwo hin kopiert damit ich dann die Positionen anpassen könnte.
Habe also etwas mit der Null von Offset gespielt hatte aber auch keine Wirkung, nichts passiert. Die Zeilen einzubauen, die du mir im ersten Code mitgeliefert hast und später nochmal auf deren Notwndigkeit verwiesen hast, habe ich bisher nicht wieder eingesetzt.
If Not IsNumeric(x) Then Exit Sub
If x 10 Then Exit Sub
Da die sich ja auf Zahlenwerte Numeric in der veränderbaren Zelle beziehen, nun aber es doch Buchstabenkürzel sind, müssen die also noch umgeschrieben werden denke ich, wahrscheinlich anstatt Numeric etwa auch Variant, würde dann so aussehen:
If not IsVariant Then Exit Sub
If Not Isalle_Werte Then Exit Sub
Wir hoffentlich noch was mit dem Code, würde gerne einen Schritt weiter kommen mit dem Problem.
Gruss-mirko
Anzeige
AW: Kopieren und Einfügen Abhängig von Zellenwert
14.03.2010 21:21:09
Zellenwert
Hallo Mirko,
bei mir passiert was. Vielleicht steht Dein Code an der falschen Stelle? Wie rufst Du ihn denn auf? Kannst Du mal die Mappe hochladen, bei der es nicht funktioniert?
Gruss- Micha
AW: Kopieren und Einfügen Abhängig von Zellenwert
14.03.2010 21:43:51
Zellenwert
Hallo Micha,
danke es hat bei mir nun auch geklappt, bin damit sehr zufrieden und kann weiter bauen.
Mein unglaublicher Fehler war im Code steht kopiere D12:D107, die war leer, es wurden also immer leere Zellen kopiert und abgedruckt, meine Zahlenreihen stand in B12:B107. Nun ich konnte mich heute leider nicht durchgehend konzentrieren und dann passieren solche dummen Fehler.
Die Mappe in der ich es einbauen werde hat mittlerweile schon 25 MB und ist ein bisschen groß zum hochladen. Es geht dabei um die Berechnung von Lastprofilen, die Buchstabenkürzel stehen für Typtagkategorien, in die sich ein Klimajahr einteilen lässt. In Spalten wird der Lastverlauf unterschiedlicher Energieformen angezeit. Bisher hatte ich immer für jede Typtagkategorie eine Maske. Nun kann ich alles in einer Maske organisieren und die Typtage durch die Buchstabenkürzel in der gleichen Maske aufrufen, die Eingaben werden dann durch den Code herauskopiert und seperat zur Auswertung geseicher.
Werde nun die nächste Frage stellen, hoffe du hast auch dazu einen Rat.
Vielen dank erstmal für die bisherige Hilfestellung.
Gruß-mirko
Anzeige
Danke für die Rückmeldung mT
14.03.2010 21:47:18
MichaV
Hei,
jaja, sowas passiert....
Gruss- Micha

363 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige