Top-Themen

Aktuelle Themen (A bis Z)

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

Excel Cellenwert automatisch verschieben

Frage Microsoft Microsoft Office

Mitglied: bodyparts

bodyparts (Level 2) - Jetzt verbinden

22.01.2012, aktualisiert 14:34 Uhr, 8510 Aufrufe, 12 Kommentare

Hallo,

ich möchte in Openoffice Calc eine Spalte pürfen und je nach Eintrag eines Wertes paar Cellen nach rechts verschieben.

Dies ist ein export der Sparkassenumsätze.

Die Tabelle beinhaltet folgende Werte:

celle frei, Amazon, 150,
celle frei, Jibi,50

In der zweiten Spalte stehen nun die Einkäufte.

Jetzt soll die Spalte 2 jede Zeile pürfen und eine Wert verschieben, wenn wie hier zb Amazon steht.
Wie weit nach recht würde ich fest vorgeben.
Wenn Amazon in der Celle steht, dann den Wert z.b 150 3 Cellen nach rechts verschieben
Wenn Jibi in der Celle steht, dann den Wert 50 6 Cellen nach rechts verschieben.

Wer kann mir bei der Formel helfen und wie hintergeleg ich das, damit in Spalte 2 alle Zeile gepüft werden?

Gruß
Mitglied: opalka
22.01.2012 um 18:30 Uhr
Hallo,

wie wäre es, wenn Du in der 3. Zelle folgende Formel schreibst: =wenn(B1="Amazon"; C1; "") und in der 6. =wenn(B1="Jibi"; C1; "") und anschließend die Formeln nach unten "durchziehen".

Reicht es so?!

Gruß
Bitte warten ..
Mitglied: bastla
22.01.2012 um 18:43 Uhr
@opalka
Da vermutlich in die freien Zellen neue Werte geschrieben werden sollen, müsste, abgesehen von der Tatsache, dass ja alle möglichen Fälle (bisher wissen wir nur von "Amazon" und "Jibi") zu berücksichtigen wären, zumindest noch ein Kopieren und "Als-Wert-Einfügen" der Spalten ab D folgen, da ansonsten deren Inhalte beim Überschreiben der Spaltenwerte in C verlorengehen ...
Meiner obigen Annahme, dass Leerzellen eingefügt werden sollen, entsprechend könnte ein Ansatz in Excel-VBA so aussehen:
01.
Sub Verschieben() 
02.
Spalte = 2 'Spalte B enthält zu prüfenden Text 
03.
Zeile = 2 'Beginn in dieser Zeile 
04.
 
05.
Set Zelle = Cells(Zeile, Spalte) 
06.
Do While Zelle.Value <> "" 
07.
    Select Case Zelle.Value 
08.
    Case "Amazon" 'Achtung, Groß-/Kleinschreibung beachten und vollständigen Zelleninhalt angeben! 
09.
        Sp = 3 'Anzahl einzufügender Spalten (bzw Zellen, da ja auf diese Zeile beschränkt) 
10.
    Case "Jibi" 
11.
        Sp = 6 
12.
    Case Else 
13.
        Sp = 0 
14.
    End Select 
15.
    If Sp > 0 Then If Zelle.Offset(0, 1).Value <> "" Then Zelle.Offset(0, 1).Resize(1, Sp).Insert Shift:=xlToRight 
16.
    Zeile = Zeile + 1 
17.
    Set Zelle = Cells(Zeile, Spalte) 
18.
Loop 
19.
End Sub
Solange in der Spalte C keine neuen Werte eingetragen wurden, kann dieses Makro auch mehrfach ausgeführt werden, ohne dass jedes Mal zusätzliche Leerzellen eingefügt werden.

Grüße
bastla
Bitte warten ..
Mitglied: opalka
22.01.2012 um 19:08 Uhr
@bastla nur hier geht es um OpenOffice und nicht Excel.

Mein Beitrag war ja nur als alternative gedacht. Ansonsten müsste man es eh als Makro programmieren.

Gruß
Bitte warten ..
Mitglied: bastla
22.01.2012 um 19:11 Uhr
@opalka
@bastla nur hier geht es um OpenOffice und nicht Excel.
Deshalb auch mein Hinweis (auch per Formatierung) auf die Tatsache, dass es ein Excel-Makro ist - ob eine Portierung nach OpenOffice möglich ist, kann ich derzeit nicht beurteiilen ...

... aber ein "Einfügen als Inhalt" (wie es Dein Ansatz mE noch erfordern würde), lässt sich auch in OO realisieren.

Grüße
bastla
Bitte warten ..
Mitglied: bodyparts
23.01.2012 um 15:05 Uhr
@bastla,

das sieht sehr gut aus.

Jetzt das "aber"..... es kann schon vorkommen, dass kein Name wie zb Jibi in der Zelle steht, dann müsste geprüft werden, ob danach noch eine Zelle kommt, wenn nicht, dann ist das Skript fertig.

Ach, ich muss halt gucken, ob das Marco in OpenOffice geht.

Sonst gibt es MS....

Gruß
Bitte warten ..
Mitglied: bastla
23.01.2012 um 17:55 Uhr
Hallo bodyparts!
es kann schon vorkommen, dass kein Name wie zb Jibi in der Zelle steht, dann müsste geprüft werden, ob danach noch eine Zelle kommt, wenn nicht, dann ist das Skript fertig.
Falls gemeint wäre "noch eine Zeile kommt", beschreibt das eigentlich ziemlich genau das von mir vorgesehene Verhalten - deswegen ja auch "Case Else" und die Schleife bis zum Abwinken (weil Zellinhalt endlich nicht mehr <>""); ansonsten solltest Du nochmals näher erklären, was damit gemeint wäre ...
Noch als zusätzlicher Hinweis: Wenn es mehrere Namen gibt, für welche die gleiche Anzahl von Zellen einzufügen ist, kannst Du die nach diesem Muster hinzufügen:
01.
Case "Jibi", "ebay", "juhu" 
02.
    Sp = 6
Grüße
bastla
Bitte warten ..
Mitglied: bodyparts
23.01.2012 um 18:04 Uhr
Ich habe das getestet. In der selben Spalte ist kein Eintrag in zb Zeile 5 dann kommt wieder ein Eintrag der wird aber nicht verschoben. Soein Export hat schon mal eine leere Zelle.
Bitte warten ..
Mitglied: bastla
23.01.2012 um 18:11 Uhr
Hallo bodyparts!
In der selben Spalte ist kein Eintrag in zb Zeile 5 dann kommt wieder ein Eintrag der wird aber nicht verschoben.
Ist klar - die Abbruchbedingung ist ja "kein Wert in der geprüften Spalte" ...

In diesem Fall müsste die Schleife anders aufgebaut werden:
01.
Sub Verschieben() 
02.
Spalte = 2 'Spalte B enthält zu prüfenden Text 
03.
ZeileAb = 2 'Beginn in dieser Zeile 
04.
 
05.
For Zeile = ZeileAb To Cells(65535, Spalte).End(xlUp).Row 
06.
    Set Zelle = Cells(Zeile, Spalte) 
07.
 
08.
    Select Case LCase(Zelle.Value) 
09.
    Case "Amazon" 'Achtung, Groß-/Kleinschreibung beachten und vollständigen Zelleninhalt angeben!  
10.
        Sp = 3 'Anzahl einzufügender Spalten (bzw Zellen, da ja auf diese Zeile beschränkt)  
11.
    Case "Jibi" 
12.
        Sp = 6 
13.
    Case Else 
14.
        Sp = 0 
15.
    End Select 
16.
 
17.
    If Sp > 0 Then If Zelle.Offset(0, 1).Value <> "" Then Zelle.Offset(0, 1).Resize(1, Sp).Insert Shift:=xlToRight  
18.
Next 
19.
End Sub
Grüße
bastla
Bitte warten ..
Mitglied: bodyparts
24.01.2012 um 08:06 Uhr
Hallo bastla....

der erste "Quellcode" geht, die Neuerung nicht...

Könnte man die Werte die verschoben werden sollen, aus einer eingenen Tabellen nehmen?

Zb Tabelle1 hat die Buchungsnamen mit dem Verschiebewert... in Tabelle2 wird verschoben.

Später möchte ich die Werte noch in eine Art Jahresübersicht prüfen und bei Änderung ersetzen.

Gruß
Bitte warten ..
Mitglied: Biber
24.01.2012 um 11:34 Uhr
Moin bodyparts,

zwei Anmerkungen.
Zitat von bodyparts:
Hallo bastla....

der erste "Quellcode" geht, die Neuerung nicht...

Ausnahmsweise hat sich bastla mal selbst ausgetrickst..
01.
... 
02.
    Select Case LCase(Zelle.Value)   
03.
    Case "Amazon" 'Achtung, Groß-/Kleinschreibung beachten und vollständigen Zelleninhalt angeben!   
04.
...
In diesem Fall sprechen Code und Kommentierung für sich selbst und wahrscheinlich muss er selber lachen, wenn er die unfreiwillige Komik nochmal liest. *fg



Könnte man die Werte die verschoben werden sollen, aus einer eingenen Tabellen nehmen?
Zb Tabelle1 hat die Buchungsnamen mit dem Verschiebewert... in Tabelle2 wird verschoben.

Zweite Anmerkung.
Dein "Konzept" ist gelinde gesagt ###, aber so was von sollte vielleicht noch mal mit neutralen Beobachtern diskutiert werden.
Normales Vorgehen wäre:
  • es kömmt wie und woher auch immer eine Import-Tabelle in definiertem Format.
  • wenn du die in Excel/Calc braucht und in Excel/Calc sehen willst, dann kopiere sie eins-zu-eins in ein Tabellenblatt "Import"
  • dabei können wahlweise alle vorher eventuell vorhandenden Daten gelöscht werden oder aber (mit einer zusätzlichen Spalte "Importdatum") immer hinten angehängt werden.
  • diese eins-zu-eins-Daten sind READONLY für dich, dienen der Kontrolle und Fehlersuche und da wird nix drei Spalten nach rechts verschoben oder hochkant gestellt oder sonstwas.
  • auf dieses Tabellenblatt kannst du LESEND zugreifen und wie zum Beispiel von opalka geschrieben die Daten in anderen Zellen/Tabellenblättern verwenden.

Später möchte ich die Werte noch in eine Art Jahresübersicht prüfen und bei Änderung ersetzen.
Lass uns erstmal bei Step 1 anfangen.

Grüße
Biber
Bitte warten ..
Mitglied: bodyparts
24.01.2012 um 12:27 Uhr
also, die Änderung mit der Leerzeile geht nicht....

das kann auch vernachlässigt werden.

diese Zeile habe ich wohl übersehen:

Case "Jibi", "ebay", "juhu"

damit brauche ich keine weitere Tabelle, um die Buchungen auszulesen.
Besser wäre ich muss nicht genau auf den Zellen Eintrag achten, wenn der groß/klein Schreibung igno würde und auch nicht genau eingetragen werden müsste.
Manche Einträge sind sehr lang... da würde ich gerne nur ein Teil des Textes nehmen, der eindeutig ist....

Gruß

@Biber.... ich habe sicher kein Konzept.... aber erkenne jetzt erst was alles möglich ist....
Bitte warten ..
Mitglied: bastla
24.01.2012 um 13:08 Uhr
@Biber
... wahrscheinlich muss er selber lachen, wenn er die unfreiwillige Komik nochmal liest. *fg
Einer mehr zum Thema "gut gemeint" - meine Offline-Version war schon 1.01 (weil ich etwas in der Art von
Besser wäre ich muss nicht genau auf den Zellen Eintrag achten, wenn der groß/klein Schreibung igno würde
schon irgendwie hatte kommen sehen) - beim Anpassen der Schleife habe ich dann beide Varianten souverän kombiniert ...

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Excel Dateien auf Desktop verschieben sich nach dem Speichern
Frage von michael1306Microsoft Office

Hallo zusammen, ich habe ein Problem. Auf einem Server mit Windows 2008 Server R2 Standard ist Office 2003 installiert. ...

VB for Applications
Excel VBA Eine oder mehrere Zellen Verschieben
gelöst Frage von batchnewbieVB for Applications2 Kommentare

Hallo, Ich habe in A1 eine Dropdown Liste mit den Werten 1, 2, 3. In A2, A3, A4 usw. ...

Exchange Server
Mail automatisch in öffentlichen Ordner verschieben.
gelöst Frage von has.andExchange Server3 Kommentare

Hy zusammen, folgende Problemstellung: Wir bekommen von einer GLT-Station Alarm/info/etc.-Mails an eine definierbare Adresse gesendet. Diese Mails sollen dann ...

Microsoft Office
Excel ein automatisches Inhaltsverzeichnis wie in Word?
Frage von Server4AlleMicrosoft Office3 Kommentare

Hallo, kann in Excel auch eine automatisches Inhaltsverzeichnis aus den einzelnen Überschriften erstellt werden so wie in Word? Vielen ...

Neue Wissensbeiträge
Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 21 StundenBatch & Shell9 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Humor (lol)

"gimme gimme gimme": Automatischer Test stolpert über Easter Egg im man-Tool

Information von Penny.Cilin vor 23 StundenHumor (lol)6 Kommentare

Interessant, was man so alles als Easter Egg implementiert. Ist schon wieder Ostern? "gimme gimme gimme": Automatischer Test stolpert ...

MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 1 TagMikroTik RouterOS8 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 1 TagSicherheit1 Kommentar

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Heiß diskutierte Inhalte
Windows 10
Bitlocker nach Verschlüsselung nicht mehr aufrufbar!
gelöst Frage von alexlazaWindows 1013 Kommentare

Hallo, ich besitze ein HP ZBook 17 G4 mit einem Windows 10 Pro Betriebssystem. Bei diesem Problem handelt sich, ...

Off Topic
Fachkräftemangel in Deutschland? - Talentschmiede schreibt alle 2 Tage die gleichen Stellen aus
Frage von Penny.CilinOff Topic12 Kommentare

Hallo, haben wir in Deutschland Fachkräftemangel? Die Talentschmiede schreibt gefühlt alle zwei Tage dieselben Stellen aus. Und das schon ...

Windows 10
Windows 10 GPO Powershell Skript Registry bearbeiten
Frage von potshockWindows 1010 Kommentare

Hi Admins, Gegeben ist ein Windows 2012 R2 Server an welchen ich Gpos für Windows 10 Clients bereitstelle. U.a. ...

Microsoft
Erfahrungen mit Webcam over RDP gesucht
Frage von DerWoWussteMicrosoft10 Kommentare

Moin Kollegen. Bekanntlich kann man Webcams nur mit Drittanbietersoftware in RDP reinschleifen. Was nutzt Ihr dazu? Wie stabil funktioniert ...