504 Aufrufe
Gefragt in Tabellenkalkulation von
Hallo,

Ich würde gerne eine Exceltabelle erstellen und diese Inhalte dann an anderer Stelle ausgeben. Am besten Idiotensicher ;)

Quasi eine Haupttabelle und diese zieht aus einer Hilfstabelle ihre Infos.

Sprich Hilfstabelle sieht bspw. so aus:
Feld | Artikelnummer | Name | Anzahl
1 | 25000200 | Urosid | 1
2 | 5523232 | Gänsegurgel | 1
3 | 22222  | Brustbeutel 40
4 | 12341fnm  | Windeln 100        
5 | 585262155  |  Handschuhe Größe L  |  60
usw.            

Haupttabelle:
Artikelnummer | Name | Anzahl

Ich möchte nun die Inhalte der Zeile 1, 3 und 5 in der Tabelle zu sehen bekommen. Wie realsiere ich dies am einfachsten?
Am liebsten wäre mir es, man gibt einfach nur eine Zahl oder Zeilennummer irgendwo ein und schon werden die Daten ausgepuckt.

Artikelnummer | Name | Anzahl
25000200 | Urosid | 1
22222  | Brustbeutel 40
585262155  |  Handschuhe Größe L  |  60

Gruß

16 Antworten

0 Punkte
Beantwortet von m-o Profi (22.7k Punkte)
Hallo,

soetwas kann man am einfachsten mit SVERWEIS lösen.

Wenn du in deiner Haupttabelle die Artikelnummer eingibst, dann schreibe in das Feld für den Namen die folgende Formel:

=WENNFEHLER(SVERWEIS(A2;Hilfstabelle!$B$2:$D$250;2;FALSCH);"")

Für das Feld für die Anzahl sieht die Formel so aus:

=WENNFEHLER(SVERWEIS(A2;Hilfstabelle!$B$2:$D$250;2;FALSCH);"")

Durch WENNFEHLER kannst du die Formel soweit wie benötigt nach unten ziehen, ohne dass eine Fehlermeldung auftaucht.

Wenn du eine Anzeige willst, dass die Artikelnummer nicht existiert dann so:

=WENNFEHLER(SVERWEIS(A2;Hilfstabelle!$B$2:$D$250;2;FALSCH);"Artikel nicht vorhanden")

Ich würde die Artikelnummer in der Haupttabelle auch über die Datenüberprüfung (Liste) machen.

Gruß

M.O.
0 Punkte
Beantwortet von
Hallo,

deine Hauptdaten stehen auf dem Blatt "Tabelle1" des Registers.

A1- Artikelnummer         B1- Name     C1-  Anzahl

als Nebentabelle nehme ich als Beispiel  "Tabelle2"

Gib dort in "A1" deine gesuchte Artikelnummer ein.

in "B1" gibst du die Formel: =WENN(ISTLEER(A1);"";SVERWEIS((A1);Tabelle1!$A$1:$C$500;2;0))

in "C1" gibst du die Formel: =WENN(ISTLEER(A1);"";SVERWEIS((A1);Tabelle1!$A$1:$C$500;3;0))

Die Zahl 500 musst du anpassen falls deine Artikel Liste länger ist.

Gehe dann auf die Zelle "B1", markiere diese und ziehe mit der Maus die Formel soweit nach unten wie du diese benötigst. Dasselbe mit Zelle "C1"

Hoffe das entspricht deiner Vorstellung.

Gruß

Rudolf
0 Punkte
Beantwortet von

Guten morgen,

erst mal Danke für eure Antworten. In einem ersten Gehversuch konnte ich es mit SVERWEIS mal testen.

Ich bin nun am probieren einer anderen Lösung.

Tabelle ist erstellt (siehe Bild) 

Spalte 1 "In Liste" soll vom User ausgefüllt werden. Entweder in Form der Zahl 1 oder Kästchen falls der Artikeln in Tabelle 2 auftauchen soll. Ein Kästchen kam mir da gelegen. Nur weiß ich nicht, ob dies so geht.
Ansonsten wäre eine 1 denkbar wäre. Und die Artikel die nicht benötigt werden für die weitere Liste, würde leer bleiben.

Überall wo der Hacken gesetzt oder die 1 steht, müßten die Inhalte in eine neue Tabelle 

ist dies ebenfalls mit SVERWEIS realisierbar oder kann ich dies überhaupt nicht umsetzen?

Gruß 

0 Punkte
Beantwortet von m-o Profi (22.7k Punkte)

Hallo,

anbei mal eine Beispieltabelle, wie man so etwas mit Formeln lösen kann: Beispieltabelle

Gruß

M.O.

0 Punkte
Beantwortet von

Hallo,

alles klar, danke. Ich habe mal einen Blick rein geworfen. Gibt es die Möglichkeit, die Kontrollkästen sauber zentriert ein zu bauen? 

"In Spalte F steht die Verknüpfung des Formularsteuerelements "Kontrollkästchen"." Wo ist die Verknüpfung denn definiert? Beim Klick auf eine Zelle in der Spalte sehe ich keine Eigenschaft.

Gruß
 
0 Punkte
Beantwortet von m-o Profi (22.7k Punkte)

Hallo,

fahre mit der Maus auf das Kontrollkästchen und drücke die rechte Maustaste und wähle dann Steuerelement formatieren - > Steuerung aus. Bei Zellverknüpfung kannst du dann durchgreifen.

Du kannst mehrere Kontrollkästchen per Makro einfügen. Kopiere den folgenden Code in ein allgemeines Modul deiner Tabelle:

Sub Kontrollkästchen_einfügen()
Dim L1 As Integer
Dim Wiederholungen As Integer

Application.ScreenUpdating = False

'Einfügen in die Zeilen 1 bis 10
For Wiederholungen = 1 To 10
 'wird in Spalte A eingefügt
 L1 = (Cells(Wiederholungen, "A").Width - 24) / 2  'notwendig zum Zentrieren
 With ActiveSheet.CheckBoxes.Add(Cells(Wiederholungen, "A").Left + L1, Cells(Wiederholungen, "A").Top, 24, 10)
  'Zellverknüpfung für Spalte F wird hinterlegt
  .LinkedCell = "$F$" & Wiederholungen
  .Characters.Text = ""
 End With
Next

Application.ScreenUpdating = True

End Sub


Mit dem Code werden 10 Kontrollkästchen in die Zeilen 1 bis 10 in Spalte A eingefügt und es werden Verknüpfungen für die Spalte F erstellt.

Gruß

M.O.

0 Punkte
Beantwortet von

WOW. Du bist echt klasse. Ich möchte nun die Kästchen erst in B8 anfangen lassen. Habe daszu alles was A war, zu B gemacht. Habe aus 1 bist 10 1 - 49 gemacht. Die width Zahlen habe ich mal verändert, weil es bei mir nicht mittig war. Wenn ich in Spalte G möchte, muß dann  

  'Zellverknüpfung für Spalte G wird hinterlegt
  .LinkedCell = "$G$" & Wiederholungen
0 Punkte
Beantwortet von m-o Profi (22.7k Punkte)
Hallo,

ja, wenn die Verknüpfung in Spalte G stehen soll, dann ist deine Änderung richtig.

Gruß

M.O.
0 Punkte
Beantwortet von

Morgen,

ich habe nun etwas weiter experimentiert. Die Auswahlliste scheint meines Erachtens nun ok zu sein.

Aber bei dem nächsten Tabellenblatt scheitert es an der Umsetzung. Ich habe versucht anhand deiner Datei meins nachzustellen. Immerhin habe ich es geschafft, dass in der ersten Zeile die Inhalte aufgezeigt werden. Sind weitere angehackt, werden diese nicht aufgezeigt.

Wo liegt mein Fehler? https://supportnet.de/forum/?qa=blob&qa_blobid=405600186010811287

Gruß

0 Punkte
Beantwortet von m-o Profi (22.7k Punkte)

Hallo,

anbei die bearbeitete Tabelle: Download

Ich hatte leider vergessen zu schreiben, dass die Formel für den Übertrag in der Artikelnummer eine Matrixformel ist, deren Eingabe mit STRG+UMSCHALT+RETURN abgeschlossen werden muss.

{=WENNFEHLER(WENN(ZEILE(A1)> ANZAHL2('Artikel Tr'!$G$1:$G$12); "";INDEX('Artikel Tr'!$H:$H; KKLEINSTE(WENN('Artikel Tr'!$H$1:$H$12<>"";
ZEILE($1:$12)); ZEILE(A1))));"")}

Die Formel hat dann eine geschweifte Klammer. Achte auch darauf, dass Bereiche in dieser Formel immer gleich sind und dass die Bezüge bei 1 anfangen.

Achte auch in den SVERWEIS-Formeln darauf, dass die Bezüge auf den Bereich stimmen, aus dem die Daten ermittelt werden sollen.

Gruß

M.O.

...