Text bei einem bestimmten wert kopieren
#1
Hallo Zusammen,

Ich habe eine Excel mit mehreren Register. In dem Register "Kalkulation" habe ich alle Positionen aufgeführt die ich Standardmäßig brauche.
Jetzt sollen aber nur die Texte und Mengen auf dem Register "Bestelliste" erscheinen welche ich ausgewählt habe, bzw. wo ich eine Menge eingegeben habe.

Ich habe alle Standart-Formeln die mir eingefallen sind probiert und nicht das gewünscht Ergebnis bekommen. Auch bei Google wurde ich nicht fündig.

Hoffe mir kann jemand da weiterhelfen und konnte es verständlich erklären.

Ich sage schon einmal Danke.
Antworten Top
#2
Zeig mal Diene Datei.


LG UweD
Antworten Top
#3
Hallo Uwe,

danke das du dich dem annehmen möchtest. 

LG Alex


Angehängte Dateien
.xlsx   Vorlage-Kalkulation-Ofen-Sanierung .xlsx (Größe: 26,02 KB / Downloads: 3)
Antworten Top
#4
Welche Excelversion kommt zum Einsatz?
Antworten Top
#5
version 16.43 Excel für Mac
geht aber auch Excel für Windows
Antworten Top
#6
Ok. wollte es zuerst mit =Filter() lösen

So müsste es aber unabhängig von der Version mit VBA klappen


Wichtig: 
- um zu entscheiden, welche Zeilen übernommen werden sollen, prüfe ich, 
 = ob die Zelle in Spalte A = FETT formatiert ist.
 = das kannst du auch machen, wenn dort kein Wert steht, um so Leerzeilen zu erzeugen

 = außerdem, wenn in Spalte D ein Eintrag besteht.


Noch ein Tipp:
 - vermeide verbundene Zellen


in ein Modul
Code:
Option Explicit

Sub Bestelliste_aktualisieren()
    Dim TB1 As Worksheet, TB2 As Worksheet, LR1 As Integer, i As Integer
    Dim Zn As Integer, Z1 As Integer, LC As Integer, Sp As Integer
   
    Set TB1 = Sheets("Kalkulation")
    Set TB2 = Sheets("Bestelliste")
   
    Z1 = 7  'ab Zeile..
    Zn = 7  'erste Zielzeile
    LC = 8  'Aazahl Spalten
    Sp = 4  'Spalte D = Eingabe
   
    'Reset
    TB2.UsedRange.Offset(Zn - 1).ClearContents
   
    With TB1
        LR1 = .Cells(.Rows.Count, "A").End(xlUp).Row 'letzte Zeile der Spalte
   
        For i = Z1 To LR1
            If .Cells(i, 1).Font.Bold Or .Cells(i, Sp) <> "" Then
                TB2.Cells(Zn, 1).Resize(1, LC).Value = .Cells(i, 1).Resize(1, LC).Value
                Zn = Zn + 1
            End If
        Next
    End With
End Sub


LG UweD
Antworten Top
#7
Hallo Uwe,

vielen Dank, ich werde es probieren und Rückmeldung geben.

LG Alex
Antworten Top
#8
Hallo Uwe,

hat alles geklappt.

Bin dir sehr Dankbar.

Gruß
Alex
[-] Folgende(r) 1 Nutzer sagt Danke an Gast_Unkown für diesen Beitrag:
  • UweD
Antworten Top


Gehe zu:


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