Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Bilder mitsortieren

Frage Microsoft Microsoft Office

Mitglied: drhouse

drhouse (Level 1) - Jetzt verbinden

13.04.2007, aktualisiert 18.04.2007, 9761 Aufrufe, 13 Kommentare

Guten Tag,

ich habe in Excel 2007 eine Tabelle die ich nach Spalte B sortieren lassen will.
Soweit kein Problem, bis auf Spalte A

In Spalte A befinden sich Bilder zu dem Gegenstand der in Spalte B beschrieben wird.
In meinem Fall ein Bild von einem Nokia5700 in Spalte a und in Spalte B steht "Nokia 5700".

Das Problem ist, dass sich die Bilder nicht mitsortieren lassen, auch wenn ich Sie in das Feld kopiert habe.

Wie schaffe ich es, dass sich die Bilder mitsortieren lassen?


Besten Dank im voraus.
Mitglied: geTuemII
13.04.2007 um 17:09 Uhr
Die Bilder befinden sich in Spalte A? Du meinst, die Bilder sind da, wo sich die Spalte A befindet?! Ich kenne nämlcuh keine Möglichkeit, Bilder direkt in Zellen einzufügen, korrigiere mich, wenn ich mich irre. Damit wäre auch gleich deine Frage beantwortet: Die Bilder sind zwar in das Arbeitsblatt eingebettet, haben aber keinen Bezug zu den zellen und können daher auch nicht über die Tabellenfunktionen sortiert werden.

geTuemII
Bitte warten ..
Mitglied: bastla
14.04.2007 um 00:29 Uhr
@geTuemII

Korrigieren kann ich Dich nur bedingt, da (zumindest für Excel 2003) gilt:

Wenn über "Grafik formatieren... / Eigenschaften / Objektpositionierung" die "Abhängigkeit von der Zellposition" nicht ausgeschaltet wurde (3. Option), ist an sich doch ein Bezug zur Zelle vorhanden. Allerdings muss die Zelle groß genug für das Bild sein (oder, anders formuliert, das Bild darf nicht aus der Zelle hinausragen). Dann wird es auch beim Sortieren "mitgenommen".

Natürlich muss die Größe der Zelle an der neuen Position wiederum für das Bild ausreichend sein - ist sie das nicht, wird das Bild zwar so platziert, dass die linke obere Ecke des Bildes der ursprünglichen relativen Position entspricht (sich also weiterhin in der gleichen Zeile wie der zugehörige Text befindet), ein neuerliches "Mit-Sortieren" wird dann aber nicht mehr funktionieren.

Lösungsansatz daher: Vorweg alle Zellen auf ausreichende Größe für das größte vorkommende Bild einstellen. Dann sollte das Sortieren hoffentlich auch in einem Excel 2007 noch klappen.

Grüße
bastla
Bitte warten ..
Mitglied: drhouse
16.04.2007 um 08:27 Uhr
Das mit der passenden Spaltengröße war die Lösung.
vielen Dank.
Bitte warten ..
Mitglied: geTuemII
16.04.2007 um 13:11 Uhr
@bastla:
Danke, und schon habe ich wieder was gelernt.

geTuemII
Bitte warten ..
Mitglied: bastla
16.04.2007 um 13:47 Uhr
@geTuemII

... schon habe ich wieder was gelernt.
Ich übrigens auch - musste mir die Lösung erst basteln.

Grüße
bastla
Bitte warten ..
Mitglied: drhouse
16.04.2007 um 15:59 Uhr
Jetzt wird das aber ganz kompliziert.
Jetzt ist die Tabelle soweit fertig, da soll ich die Tabelle in weitere untertabellen aufteilen.
Quasi wenn in spalte X die Zahl 30 steht soll die Zelle in einem weitern arbeitsblatt auftauchen.
Dank SVERWEIS eigentlich kein Problem, aber die Bilder werden beim sverweis nicht berücksichtigt.
Ich bin mir auch nicht ganz sicher ob ich das Problem per sverweis lösen kann.
Es gibt mehrere Spalten wo die Zahl 30 drin vorkommt.
diese spalten sollen in eine andere Tabelle kopiert werden (Natürlich automatisch copy-paste ist ja auch zu umständlcih, da die Tabelle sich ständig ändert.)

Das ganze sieht so aus

Tabelle 1:

Bild-Gerätebezeichnung- Geräteserie
pic1- Nokia 5700- S60
pic2- Nokia 5500- S40
pic3- Nokia 8800- S40

Jetzt brauche ich ne neue Tabelle wo nur Geräte der S40 Serie auftauchen.
Und natürlich das Bild.

Ich hab auch schon mal bei office-loesung.de nachgeguckt, aber da werde ich erstens nicht draus schlau und zweitens streiten die sich da nur anstatt das problem zu lösen.
echt kindisch sowas.
Da bin ich froh das ich hier immer kompetente Leute vortreffe.

Gruß
drhoue
Bitte warten ..
Mitglied: bastla
16.04.2007 um 18:00 Uhr
Hallo drhouse!

Existiert die neue Tabelle bereits (bzw soll sie zwar diesmal neu erstellt, in Zukunft aber ergänzt werden), und falls ja, darf die ganze Zeile kopiert werden, oder müssen es jeweils die 3 Zellen sein?

Und ganz generell: Wohin in der Zieltabelle sollen die kopierten Daten / Bilder?

Am besten, Du beschreibst den gewünschten Ablauf möglichst exakt.

Grüße
bastla
Bitte warten ..
Mitglied: drhouse
17.04.2007 um 08:52 Uhr
Die Tabellen existieren schon.
Sie sollen in der Zukunft aber ergänzt werden.
Es muss die gesammte Zeile kopiert werden.
Die Daten sollen dann exakt so in der neuen Tabelle stehen, wie schon in der gesamtliste, allerdings halt nur die Zeilen wo S40 in der letzten Zeile steht.
Bitte warten ..
Mitglied: bastla
17.04.2007 um 14:51 Uhr
Hallo drhouse!

Kopiere das folgende Makro in ein Modul Deiner Arbeitsmappe:
01.
Option Explicit 
02.
Sub Kopieren() 
03.
 
04.
Const Quelle As String = "Tabelle1" 
05.
Const Ziel As String = "Tabelle2" 
06.
Const Spalte As String = "C" 
07.
Const Zeile As Integer = 2 
08.
 
09.
Dim SpaltenNr As Integer, Vorgabe As String, Kriterium As String, i As Integer 
10.
Dim Q As Worksheet, Z As Worksheet, rNext As Integer 
11.
SpaltenNr = Worksheets(1).Cells(1, Spalte).Column 
12.
Set Q = Worksheets(Quelle) 
13.
Set Z = Worksheets(Ziel) 
14.
If ActiveSheet.Name = Quelle Then 
15.
    If ActiveCell.Column = SpaltenNr Then Vorgabe = ActiveCell.Value 
16.
Else 
17.
    Vorgabe = "" 
18.
End If 
19.
Kriterium = InputBox("Nach welchem Begriff soll in Spalte " & Spalte & " gesucht werden?", "Kriterium", Vorgabe) 
20.
If Kriterium <> "" Then 
21.
    i = Zeile 
22.
    Do While Q.Cells(i, SpaltenNr).Value <> "" 
23.
        If LCase(Q.Cells(i, SpaltenNr).Value) = LCase(Kriterium) Then 
24.
            Q.Activate 
25.
            Q.Cells(i, SpaltenNr).EntireRow.Copy 
26.
            Z.Activate 
27.
            rNext = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row + 1 
28.
            ActiveSheet.Cells(rNext, 1).Activate 
29.
            ActiveSheet.Paste 
30.
            Application.CutCopyMode = False 
31.
        End If 
32.
        i = i + 1 
33.
    Loop 
34.
End If 
35.
End Sub
Die Werte in den "Const"-Zeilen enthalten die Namen der Quell- und der Zieltabelle sowie die Spalte, in welcher das Kriterium vorkommt und die erste Zeile, in der Daten zu finden sind. Passe bitte diese Informationen an Deine Tabellen an.

Zur Verwendung: Wenn Du in der Quelltabelle den Zellcursor in eine Zelle der Kriterienspalte (im Beispiel "C") setzt, wird nach dem Start des Makros "Kopieren" der in dieser Zelle befindliche Wert als Kriterium vorgeschlagen - ansonsten musst Du selbst eingeben, welches Kennzeichen Du verwenden willst.

Beispiel: Wenn die Zelle C5 den Eintrag "S40" enthält und Du diese Zelle markierst, werden nach Bestätigung des Wertes alle Zeilen, die ebenfalls "S40" in der Spalte C enthalten, in die Zieltabelle kopiert und dort am Ende angefügt. Beim Vergleich der Zellinhalte wird nicht auf Groß-/Kleinschreibung geachtet - Du könntest also auch "s40" als Suchbegriff eingeben.

Grüße
bastla
Bitte warten ..
Mitglied: drhouse
18.04.2007 um 10:29 Uhr
Erstmal vielen Dank für die Hilfe.

Mein Quellcode sieht jetzt folgendermaßen aus:

Public Sub Series30()
Dim q As Integer
Dim i As Integer
Dim s As Object
For Each s In ThisWorkbook.Sheets
If s.Name <> "Gesamt" Then
s.Range("2:65536").Delete (xlShiftUp)
End If
Next s
For Each s In ThisWorkbook.Sheets
i = 2
q = 2
While ThisWorkbook.Sheets("Gesamt").Cells(q, 13).Value <> ""
If ThisWorkbook.Sheets("Gesamt").Cells(q, 13).Value = s.Name Then
ThisWorkbook.Sheets("Gesamt").Cells(q, 13).EntireRow.Copy
s.Paste Destination:=s.Cells(i, 1)
i = i + 1
End If
q = q + 1
Wend
Next s
End Sub

Der überprüft jetzt ob das was in spalte m steht auch als zusätzliche Tabelle existiert und kopiert dann die Daten in die ensprechende Tabelle.
Jetzt gibts da nur ein Problem.
Am Anfang steht ja das er den Inhalt der anderen Tabellen erstmal löschen soll.
Die Bilder werden jedoch nicht gelöscht.
An dem Problem muss ich noch arbeiten.
Sonst läuft der rest super.
Bitte warten ..
Mitglied: drhouse
18.04.2007 um 10:44 Uhr
Ich habe ja noch das Problem das die Bilder nicht mitgellöscht werden.

Das muss an dem Löschbefehl liegen

For Each s In ThisWorkbook.Sheets
If s.Name <> "Gesamt" Then
s.Range("2:65536").Delete (xlShiftUp)
End If
Next s

Ich frage mich ob xlShiftUp der richtige Befehl ist.
Ich will ja auch die Bilder mitgelöscht haben.
Problem ist das ich von VBA nicht wirklich Ahnung habe und mit der Hilfe von Excel auch nicht weiterkomme.

Bittte helft mir bei dem Problem weiter.
Danke im voraus
Bitte warten ..
Mitglied: bastla
18.04.2007 um 12:36 Uhr
Hallo drhouse!

Wenn Du alle Bilder löschen willst, ist es einfach:
01.
... 
02.
s.Shapes.SelectAll 
03.
Selection.Delete 
04.
...
Falls einzelne Bilder erhalten bleiben sollen, müsstest Du die "Shapes"-Auflistung mit "For Each ..." abgrasen und alle nicht benötigten Bilder (Problem: Kennst Du deren Namen oder Index?) löschen.

Grüße
bastla
Bitte warten ..
Mitglied: drhouse
18.04.2007 um 14:11 Uhr
vielen dank für die Hilfe

Mein VBA-Makro sieht jetzt wie folgt aus:

Public Sub Abgleich()
Dim q As Integer
Dim i As Integer
Dim b As Object
Dim s As Object
Dim myShape As Shape

For Each s In ThisWorkbook.Sheets
If s.Name <> "Gesamt" Then
For Each myShape In s.Shapes
myShape.Delete ' Bilder aller Tabellen die nicht Gesamt heißen löschen
Next myShape

s.Range("1:65536").Delete (xlShiftUp) ' Alle Zeilen der Tabellen die nicht Gesamt heißen löschen

End If
Next s

For Each s In ThisWorkbook.Sheets ' Der Vorgang der jetzt kommt soll in allen Tabellen durchgeführt werden

i = 2
q = 2

ThisWorkbook.Sheets("Gesamt").Cells(1, 1).EntireRow.Copy ' Die erste Zeile der Gesamttabelle soll auf
s.Paste Destination:=s.Cells(1, 1) ' alle anderen Tabellen übertragen werden

While ThisWorkbook.Sheets("Gesamt").Cells(q, 13).Value <> "" 'solange wiederholen bis ein Feld in Spalte M leer ist
If ThisWorkbook.Sheets("Gesamt").Cells(q, 13).Value = s.Name Then ' wenn in Spalte M der Text gleich dem Namen einer der Tabellen ist,
ThisWorkbook.Sheets("Gesamt").Cells(q, 13).EntireRow.Copy 'dann die gesamte Zeile
s.Paste Destination:=s.Cells(i, 1) 'dort hin kopieren
i = i + 1 'eine Zeile weiter
End If
q = q + 1
Wend
ThisWorkbook.Sheets("Gesamt").Range("A:Z").Copy ' Das Format von Spalte A bis Z in die anderen
s.Range("A:Z").PasteSpecial Paste:=xlPasteColumnWidths ' Tabellen übertragen
Next s
End Sub


Vielen Dank für eure Mithilfe
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Outlook & Mail
Outlook 2016 - Briefpapier Bilder werden nicht angezeigt (6)

Frage von Markowitsch zum Thema Outlook & Mail ...

Grafik
gelöst Suche Programm um Bilder zu verkleinern (10)

Frage von fox14ch zum Thema Grafik ...

Viren und Trojaner
Virus macht Bilder unleserlich (25)

Frage von linguin zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...