einfaches Kopieren von Zellen in andere Tabelle
#1
Ich versuche mal wieder als Anfänger eine Basic-Aufgabe zu lösen.....
Der Weg zum Ziel wäre mir eigentlich klar, doch fehlen mir schlicht die Grundbausteine.....

Eine Tabelle1 zeigt das Sordiment eines Geschäfts. 
Hier kann man logischerweise seinen Einkauf planen, wobei lediglich die Menge angegeben werden muss.
Die Abfrage soll nun alle Ranges Bx:Dx heraussuchen, bei denen der Mengenwert <>0 ist und diese in Tabelle 2 schreiben.
Tabelle 2 zeigt die zusammengeschrumpfte Einkaufsliste ohne Lehrlinien an. Diese wird anschliessend als .pdf geöffnet.

Wer kann mir bei der Kopierabfrage behilflich sein?
Ich danke allen Lesern, noch mehr allen, die nicht lachen oder meckern und am meisten denen, die helfen :))

Matthias
Code:
Sub Abfrage()
Dim Bereich As Range
Dim Zelle As Range
Dim i As Integer
Set Bereich = Worksheets("Sortiment").Range("C2:C200")
For Each Zelle In Bereich
If Zelle.Value <> "" Then
' Zelle.EntireRow.Font.Color = 3333333 ' färbt Einkäufe farbig
' Kopiere Zellen B-D des Worksheets Sortiment in Zellen B-D des Worksheets Einkaufsliste.
' Beginne in Zeile 2 (i=2)
' erhöhe i um 1, damit der nächste Eintrag in der nächsten Zeile steht.
End If
Next Zelle
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Einkauf.pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True
End Sub


Angehängte Dateien
.xlsm   Bestellung.xlsm (Größe: 24,2 KB / Downloads: 8)
Antworten Top
#2
Hi,

da braucht man doch kein VBA. Dafür reicht der FILTER()-Befehl in Einkaufsliste!A2:
=FILTER(Sortiment!B2:D14;Sortiment!C2:C14>0)
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top
#3
Hi,

wie Helmut schon schrieb, ist das eine klassische Aufgabe für Formeln.

Kleine Ausbaustufe:

=LET(x;FILTER(Sortiment!B2:D14;Sortiment!C2:C14>0);y;INDEX(x;;2)*INDEX(x;;3);VSTAPELN(HSTAPELN(x;y);HSTAPELN("";"";"Gesamt:";SUMME(y))))
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste