Forum: PC-Programmierung Copybefehl in Excel?


von mueller (Gast)


Lesenswert?

also einfaches ......???? Problem.
Ich habe eine Tabelle in der ab und zu in einer Spalte Null
vorkommt. Wenn Null dann Coppy  Inkrementierend ganze (betreffende) 
Zeile auf andere Tabelle.
Irgendwie bin ich zu doof, aber ich finde nichts wie man das Coppy 
hinbekommt.

von Thomas (Gast)


Lesenswert?

Hä?
Nix verstanden!
Gehts besser zu erklären?

von mueller (Gast)


Lesenswert?

Wenn in Spalte A = Null dann
Coppy  Inkrementierend (also in A1; A2; A3 usw.)
ganze (betreffende)Zeile (in der in Ax eine Null war)
in eine andere Tabelle(Blatt).

von tex (Gast)


Lesenswert?

Dazu musst Du zu der antiken Schreibweise wechseln =Auswählen("ZS1")

von mueller (Gast)


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.

von tex (Gast)


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.

von Thomas Strauß (Gast)


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

von Stefan (Gast)


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

von Stefan (Gast)


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 :-)))))))

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.