![]() |
Excel - bedingter Zelleninhalt (wenn andere Zelle nicht leer)
Hallo alle,
ich möchte aus einer teilweise augefüllten Spalte nur diejenigen Zellen in einer anderen Spalte zusammen sammeln, die Daten beinhalten. Mit welcher Vorgehensweise/Formel könnte das funktionieren? Also aus dem hier
und zwar ohne Zwischenräume :-) |
AW: Excel - bedingter Zelleninhalt (wenn andere Zelle nicht leer)
Manuell: die spalte eventuell kopieren UND dann Sortieren ... danach sind alle Leerstellen zusammen und du kannst sie entfernen
![]() ![]() |
AW: Excel - bedingter Zelleninhalt (wenn andere Zelle nicht leer)
Falls Dir die händische Lösung nicht reicht, welche Excel-Version?
|
AW: Excel - bedingter Zelleninhalt (wenn andere Zelle nicht leer)
Hi, danke für die Antworten; es sollte automatisch funktionieren, deswegen die Frage nach der Formel. In diesem Fall ist es die Version 2007.
|
AW: Excel - bedingter Zelleninhalt (wenn andere Zelle nicht leer)
Hallo,
hier ist ein kleines Makro aus dem Buch von Bernd Held: Excel - VBA Kompendium - Mit über 1000 Makros für 2000 bis 2010. :angel:
Code:
Man müßte es so anpassen, daß lediglich ein markierter Bereich bearbeitet wird und nicht die ganze Tabelle...
Sub LeerZeilen_Loeschen()
'Bernd Held: Excel - VBA Kompendium - Mit über 1000 Makros für 2000 bis 2010 Dim Zeile As Long Dim ZeileMax As Long Sheets("Tabelle1").Activate ZeileMax = ActiveSheet.UsedRange.Rows.Count For Zeile = ZeileMax To 1 Step -1 If Application.WorksheetFunction.CountA(Rows(Zeile)) = 0 Then Rows(Zeile).Delete End If Next Zeile End Sub Vielleicht kann hier jemand dabei helfen? :-D |
AW: Excel - bedingter Zelleninhalt (wenn andere Zelle nicht leer)
Hallo,
in diesen Fall wäre diese Formel guenstiger- letzte_zeile:=excel_obj.Worksheets[sheet_name].Cells[excel_obj.Worksheets['Liste'].rows.count, 1].End[xlUp].Row;// als Beispiel ![]() dann die Cellen entsprechend abfragen ![]() ![]() Gruß |
AW: Excel - bedingter Zelleninhalt (wenn andere Zelle nicht leer)
Ich glaube, bald eine Lösung zu haben, aber es fehlt noch eine Kleinigkeit: Wie kann ich von einem markierten Bereich die "Koordinaten" (= Tabellen-Namen & Range) ermitteln?
|
AW: Excel - bedingter Zelleninhalt (wenn andere Zelle nicht leer)
2007 ist natürlich schon sehr alt... :-/
Wenn die anderen Tipps nicht helfen, vielleicht gab es damals schon Pivottables? PowerQuerys gab es sicherlich noch nicht. Die sind sonst oft ganz hilfreich. |
AW: Excel - bedingter Zelleninhalt (wenn andere Zelle nicht leer)
Wau, da sind ja viele gute Ideen dabei, danke dafür!
Sollten wir in absehbarer Zeit keine Lösung finden, dann programmiere ich etwas in Delphi. Das wäre dann leider nicht sehr flexibel, weil die bewußten Inhalte auf beliebigen Arbeitsblättern vorkommen können. Das müßte dann ein kleines GUI haben, wo man das Arbeitsblatt und den Bereich bestimmen kann. |
AW: Excel - bedingter Zelleninhalt (wenn andere Zelle nicht leer)
Je nachdem, wie oft so etwas (ähnliches) gebraucht wird, wäre evtl. auch eine aktuellere Excel-Lizenz sinnvoll.
<Schleichwerbung/> PS: Bei der Gelegenheit will ich mal auf den "Synkronizer" hinweisen. Damit kann man unterschiedliche Excel-Datei-Versionen sehr komfortabel miteinander vergleichen. (bin nicht verwandt oder verschwägert, nur begeistert! :-) </Schleichwerbung> |
AW: Excel - bedingter Zelleninhalt (wenn andere Zelle nicht leer)
Liste der Anhänge anzeigen (Anzahl: 1)
hallo,
hier noch ein Beispiel, als Ergänzung zu #6
Delphi-Quellcode:
Dient jetzt nur als Demo, ist natürlich verbesserungs bedürftig
var
excel_obj: OleVariant; xml_path, xlsx_name, sheet_name: string; cell_start, letzte_zeile, row_start, col_indx, sheet_indx, i: integer; my_value: OLEVariant; function get_sheet_values: Boolean; var i: integer; begin try excel_obj.workbooks.open(xml_path + xlsx_name); excel_obj.activeworkbook.worksheets[sheet_name].activate; letzte_zeile := excel_obj.Worksheets[sheet_indx].Cells[excel_obj.Worksheets[sheet_indx].rows.count, col_indx].end[xlUp].row; for i := row_start to letzte_zeile do begin if excel_obj.Worksheets[1].cells[i, col_indx].value <> '..' then memo1.lines.add(excel_obj.Worksheets[sheet_indx].cells[i, col_indx].value) end; result := true; except result := false; end; end; function write_sheet_values:Boolean; var i: integer; begin try excel_obj.workbooks.add(); for i := 0 to memo1.lines.count - 1 do excel_obj.activeworkbook.worksheets[1].cells[1 + i, 1].value := memo1.lines[i]; excel_obj.activeworkbook.saveas(xml_path + 'neu.xlsx'); result:=true; finally result:=false; end; end; begin memo1.clear; excel_obj := unassigned; xml_path := extractfiledir(application.ExeName) + '\'; xlsx_name := 'Mappe1.xlsx'; sheet_name := 'Tabelle1'; sheet_indx := 1; row_start:=1; col_indx := 4; excel_obj := createoleobject('Excel.application'); try if get_sheet_values=True then write_sheet_values; finally excel_obj.quit; excel_obj := unassigned; end; end; Gruß |
AW: Excel - bedingter Zelleninhalt (wenn andere Zelle nicht leer)
Supi, schau ich mir asap an, danke!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz