Anzeige
Archiv - Navigation
1360to1364
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

VBA Lösung für folgendes Problem

VBA Lösung für folgendes Problem
26.05.2014 12:40:55
Herbert
Hallo
bin neu hier und habe folgendes Problem
Ich bin stolzer Besitzer von zwei Tabellen AWN und MO nun versuche ich von Tabelle(AWH), die eine Zeile(1F-1LM) mit fortlaufendem Datum für das ganze Jahr hat
die daten von Spalte F15-F54 in tabelle(MO) zu kopieren. geht das in einer Schleife sonst müsste ich ja 365 mal diesen Code siehe unten eingeben.
Private Sub CommandButton1_Click()
If Range("O3") = 153 Then
'
Sheets("AWH").Select
ActiveWindow.SmallScroll Down:=-15
Range(F15:F54").Select
Selection.copy
Sheets("Mo").Select
ActiveWindow.SmallScroll Down:=-21
Range("L9:Q9").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=True, Transpose:=False
End If
Ich hoffe die Erklärung ist so irgendwie zu verstehen.
Vielen Dank schon mal

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Lösung für folgendes Problem
26.05.2014 12:52:08
Daniel
Hi
noch nicht so ganz. Was genau willst du von wo wohin kopieren?
deine Zielbereiche sind noch nicht klar. F15:F54 ist eine Spalte, L9:Q9 hingeben eine Zeile, das passt so nicht zusamen.
desweiteren solltest du dir angewöhnen, den vom Recorder aufgezeichneten Code zu überarbeiten und das unnötige zu löschen.
Der Recorder zeichnet alles auf, was wir Mausschubser so tun müssen, wenn wir mit der Tabelle arbeiten, aber vieles von dem ist in VBA nicht notwendig.
Dein Code lässt sich auf folgende Zeilen zusammenkürzen:
Private Sub CommandButton1_Click()
If Range("O3") = 153 Then
Sheets("AWH").Range(F15:F54").copy
Sheets("Mo").Range("L9:Q9").PasteSpecial _
Paste:=xlPasteValuesAndNumberFormats, _
Operation:=xlNone, _
SkipBlanks:=True, _
Transpose:=False
End If

weiter Infos dazu hier: http://www.online-excel.de/excel/singsel_vba.php?f=78
Gruß Daniel

Anzeige
AW: VBA Lösung für folgendes Problem
26.05.2014 13:22:39
Herbert
Hallo Daniel
vielen Dank für die schnelle Antwort, war mir fast klar, das ich mich nicht richtig ausgedrückt habe sorry. Also neuer Versuch:
In Tabelle 1 gebe ich das Datum ein in Tabelle 2 soll er nach dem Datum suchen und dann die dazu gehörigen daten der Spalte F15:F54 uns so weiter je nach Auswahl von dem Datum in tabelle 1 eintragen.
Könnte dir auch einen Auszug der Mappe schicken.
Gruß
Herbert

AW: VBA Lösung für folgendes Problem
26.05.2014 13:24:24
Daniel
Wenn du kannst, schick mir die Tabelle zu.
wenn du es nicht kannst, dann kannst du sie vielleicht hier hochladen.
Aus deiner Beschreibung werde ich immer noch nicht schlau.
Gruß Daniel

Anzeige
AW: VBA Lösung für folgendes Problem
26.05.2014 14:06:46
Herbert
So hier kommt das gute Stück

Na, wo laufen sie denn.... (Link fehlt! owT)
26.05.2014 14:27:31
EtoPHG

AW: Na, wo laufen sie denn.... (Link fehlt! owT)
26.05.2014 15:07:55
EtoPHG
Hallo Herbert,
Und wieso VBA?
Einfach die Formel:
=INDEX(AWH!$1:$1000;ZEILE()-3;VERGLEICH($AD$5;AWH!$3:$3;0))

Nach unten kopieren.
Für's nächste mal: Konzetrier dich zuerst auf die Funktionen und dann auf die Formate.
Verbundene Zellen können in Ausnahmefällen nötig sein, verursachen aber in VBA einen Haufen unnötiger Arbeit.
Gruess Hansueli

Anzeige
AW: Na, wo laufen sie denn.... (Link fehlt! owT)
26.05.2014 15:15:20
Herbert
ok werde mir deinen Rat merken
sollte aber über VBA laufen da ich einen Button im userform habe der alles erledigen soll. Also Datum auswählen in Tabelle(Mo) prüfen ob übereinstimmung mit Tabelle(AWH) und wenn ja kopiere die Spalten, die zum richtigen Datum gehören und das für 365 Tage
Danke erstmal

Ich bleibe bei Formeln...
26.05.2014 15:35:05
EtoPHG
Hallo Herbert,
Sorry, ich kann zwar ein bisschen VBA, aber es wäre auch für den Anwender einfacher, wenn er gleich nach der Eingabe die Anzeige bekäme, ob das Datum richtig ist und wenn ja die Daten dazu. Warum soll er da noch einen Button klicken? In AU5 (Schrift Fett und rot formatiert):
=WENN(ISTFEHLER(VERGLEICH(AD5;AWH!$3:3;0));"Das Datum existiert nicht!";"")

und die etwas modifizierte Formel:
=WENN($AU$5="";INDEX(AWH!$1:$1000;ZEILE()-3;VERGLEICH($AD$5;AWH!$3:$3;0));"")

VBA ist fehleranfällig (v.a. auf Änderung des Tabellenaufbaus), wartungsaufwändig und wir in vielen Firmen nicht zugelassen!
Gruess Hansueli

Anzeige
AW: Ich bleibe bei Formeln...
26.05.2014 15:50:09
Herbert
ok Hansueli,
funktioniert auch bestens, müsste nur die formel ändern
Mein Datum fängt in der richtigen Tabelle in Zeile 1 Spalte 6 an
und die Daten brauch in dann aus Zeile 15 Spalte 6.
wenn du nochmal so nett wärst
Danke

Da nützt die schönste Beispielmappe nichts...
26.05.2014 15:58:18
EtoPHG
Herbert,
Wenn wenigsten nich der Datenaufbau mit dem Original übereinstimmt. Wie stellst du dir den die Hilfestellung vor? In VBA wäre das ein ewiges hin und her, weil man sich als Helfer auf die Beispielmappe abstützt und dann plötzlich sieht alles ganz anders aus?
Ich hab auch keine Lust die Formeln nach deinen (zu ungenauen, unvollständigen) Angaben anzupassen umd dann noch ein "...aber da hab ich was vergessen oder ...man müsste noch zu bekommen. Also bitte eine Beispielmappe, die genau den Datenaufbau (nicht Inhalt) deines Originals entspricht!
Gruess Hansueli

Anzeige
AW: Da nützt die schönste Beispielmappe nichts...
26.05.2014 16:50:04
Herbert
Puh jetzt hab ichs aber bekommen.
Sorry ! Aber ich lerne Excel und die Regeln hier im Forum aller Anfang ist schwer mit beiden.
Hier jetzt die Tabellen so wie sie später aussehen werden nur etwas grösser und hoffe, dass ich ein letztesmal Hilfe bekomme
https://www.herber.de/bbs/user/90847.xlsx
Vielen Dank für dein Verständnis
Gruß
Herbert

Also hier nochmals die Formeln,
27.05.2014 09:43:15
EtoPHG
Herbert,
Gem. deiner neuen Beispielmappe. Bei der ich immer noch bezweifle, dass sie dem Original entsprechen, denn jetzt sind plötzlich die Blattnamen anders...!
Tabelle2!AD6

=WENN(ISTFEHLER(VERGLEICH(AD5;Tabelle1!$F$1:$NH$1;0));"Das Datum existiert nicht!";"")

Tabelle2!L9ff
=WENN($AD$6="";INDEX(Tabelle1!$1:$1000;ZEILE()+6;VERGLEICH($AD$5;Tabelle1!$F$1:$NH$1;0)+5);"")

Gruess Hansueli

Anzeige
AW: Also hier nochmals die Formeln,
27.05.2014 13:50:58
Herbert
Hi hansueli,
hab selbst ein wenig probiert und kam drauf das Zeile()-3 bei mir Zeile()+6 sein muß.
Trotzdem danke nochmals läuft ohne Probleme und waren auch die richtigen Tabellen.
Eine Frage hab ich noch:
Gibt es eine Möglicjkeit in dieser Formeln Zellen mit keinem Eintrag eine Null zuzuweisen ?
Vielen Dank
Herbert

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige