Copybefehl in Excel?

Gast #688853
Lesenswert?

Hmm also gut, versuche ich es mal in Prosa ;-)
Habe eine Materialliste mit Stückzahl in Spalte A
Wenn ich bestellen will suche ich immer nach den Bestand =0
und die dann gleich als neue (Bestell-)Tabelle um diese ins Fax zu
legen. Es geht um eine Bestand von ca. 600 Posten, so das ein Manuelles
durchsehen lange dauert und für eine Datenbank ist es
eigentlich noch zu wenig.
Gast #688974
Lesenswert?

>>Hmm also gut, versuche ich es mal in Prosa ;-)
Ganze Sätze, die Dein problem beschreiben, täten es auch schon
>>Habe eine Materialliste mit Stückzahl in Spalte A
ungewöhnlich, aber egal
>>Wenn ich bestellen will suche ich immer nach den Bestand =0
Kann man von Hand machen, kann man mit einem Filter machen
>>und die dann gleich als neue (Bestell-)Tabelle um diese ins Fax zu
>>legen.
Da beitet sich ein Filter dann doch sehr an
>>Es geht um eine Bestand von ca. 600 Posten, so das ein Manuelles
>>durchsehen lange dauert und für eine Datenbank ist es
>>eigentlich noch zu wenig.
Gast #691534
Lesenswert?

Hallo,

ich erstelle seit einiger Zeit hobbymäßig Excel-Tabellen für einen 
wavetable-Synthesizer und spare mir viel Arbeit mit Makros. Diese laufen 
auf Visual-Basic Sprache (womit eben Excel - Anwendungen arbeiten).

Es ist möglich, Tastatur-Makros aufzunehmen und die unter einem Namen zu 
speichern. Ausgelöst wird so ein Makro bsp. mit Strg+e.

Um zu sehen, was sich hinter diesem Makro verbirgt, kann man mit 
Alt+F11-Taste auf die entsprechende Ansicht wechseln. Unter Ansicht - 
Projektexplorer kann man sehen, woraus die aktuelle Arbeitsmappe 
besteht.

Tabelle1 anklicken -> dann steht da z.B. Modul1 oder Modul2. Mit dem 
Mauszeiger daraufgehen und rechte Taste drücken -> Code anzeigen. Der 
erscheint rechts im Fenster.

Diesen Code kann man natürlich auch verändern, um z.B. Laufzeitfehler 
auszubremsen. Ich benutze da etwas Intuition und Versuch und Irrtum.

Um jetzt in einer Spalte alle Zellen, deren Wert = 0 ist, in ein anderes 
Tabellenblatt zu kopieren, bietet sich ein Visual Basic Modul 
(Quelltext) an, das genau dieses macht. Das heisst, auf Tastendruck von 
Str und e würden jetzt genau diese Zellen, deren Wert Null ist, 
nacheinander in ein zweites Tabellenblatt kopiert werden 
(vollautomatisch).

Ich habe so ein Modul noch nicht angelegt, bin auch kein Excel-Profi, 
aber sollte ich ein passendes Modul "hinkriegen", melde ich mich!

Anbei noch ein Link 
http://www.office-loesung.de/ftopic114046_0_0_asc.php


Gruß Thomas
Gast #691553
Lesenswert?

OK, hier mal ein Vorschlag, wie man es machen kann:
1
Sub Search_Zero()
2

3
Dim i As Integer
4
Dim j As Integer
5
Dim k As Integer
6
Dim l As Integer
7
Dim cache As Variant
8

9
l = 605         'Anfang 1. Zeile Bestelliste
10

11
For i = 1 To 601
12
    j = ActiveSheet.Cells(i, 1)
13
    If j = 0 Then
14
        For k = 1 To 20
15
            cache = ActiveSheet.Cells(i, k)
16
            ActiveSheet.Cells(l, k) = cache
17
        Next k
18
        l = l + 1
19
    End If
20
Next i
21

22
End Sub

Tabelle öffnen->Extras->Makro->Visual Basic Editor->Arbeitsmappe 
markieren->rechte Maustaste->Einfügen->Modul-> Code oben einfügen und 
anpassen
Gast #691559
Lesenswert?

Achso, eine kurze Funktionsbeschreibung:

Makro läuft Zeile 1 bis 601 durch, und schaut nach d. integer-Wert in 
Spalte A. Wenn es Null beträgt, so werden die Inhalte der ersten 20 
Spalten in der betreffenden Zeile kopiert, und zwar unten nach der 
Tabelle, beginnend bei Zeile 605. Alle Parameter können natürlich 
angepasst werden.

Klar, es geht auch wesentlich eleganter, also an alle Rummeckerer: Macht 
es besser, Rahmt den Code dann ein und hängt es an die Wand :-)))))))

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren