Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Zelle um Zahlenwert verschieben
#1
Information 
Hallo liebe Experten,

für meine aktuelle Aufgabe in der Firma muss ich Zeile für Zeile eine Zelle in Tabelle 3, um einen Zahlenwert (0 bis 7) aus Tabelle 2, nach rechts verschieben.

Ich habe leider keine Idee für einen Code-Ansatz - völliger VBA- bzw. programmier-Neuling

LG Luca
Antworten Top
#2
Hallo,

Du könntest die Tabelle2 in einem zweiten Fenster öffnen (Reiter Ansicht, Neues Fenster). Dann siehst Du den Wert gleich und kannst einfacher verschieben.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#3
Hallo,

leider würde mir das nur etwas für den aktuellen Fall nützen. Da hab ich mich eventuell unklar ausgedrückt.

Die Verschiebung ist immer anders - von Datei zu Datei. Der Code muss es allgemein ausführen können, egal was vorgegeben ist. 

In jedem falle aber handelt es sich um die gleiche Spalte der Quelldaten und die gleiche Range der Zielzellen.

Sozusagen muss die Zelle (Z7S4) in Tabelle 3 um die Zahl (0 bis 7) in Zelle (Z2S1) Tabelle 2 verschoben werden. 
Dann das ganze für (Z8S4) Tab. 3 aus (Z3S1) Tab. 2.

Und das für alle Daten der Spalte, welche immer unterschiedlich lang ist.

LG Luca
Antworten Top
#4
Hallo

Schau mal ob dir das weiterhilft.
https://www.ms-office-forum.net/forum/sh...p?t=372230
Viele Grüße
PIVPQ
Antworten Top
#5
Wenn ich das Thema des Links richtig verstehe ist das eine ganz andere Baustelle.

Hab noch mal zwei Screenshots angehängt. Grundlage.png stellt Tabelle 2 dar, aus der die Zahl der Einrückung kommt.
Ziel.png zeigt anhand der Pfeile die Verrückung in Tabelle 3, um die Zahl der Einrückung aus Tabelle 2.

Die Pfeile zeigen nicht die richtige Einrückung- nur beispielhaft...


Angehängte Dateien Thumbnail(s)
       
Antworten Top
#6
Hallöchen,

im Prinzip so, aber bitte vor Anwendung eine Sicherheitskopie anlegen. Es wird nicht geprüft, ob in Tabelle2 in der zugehörigen Zelle auch eine Zahl steht. Das Makro hört bei der ersten leeren Zelle nach D7 von Tabelkle3 auf.

Code:
Sub Verschieben()
'Makro in Tabelle3 starten!
'Variablendeklaration
Dim iCnt&
'Startzeile festlegen
iCnt = 7
'Schleife bis zur ersten leeren Zelle in Spate D (4)
Do While Cells(iCnt, 4).Value <> ""
  'Zelle ausschneiden
  Cells(iCnt, 4).Cut
  'Zelle um den Wert aus Tabelle2, 5 Zeilen weiter oben, nach rechts verschieben
  Cells(iCnt, Sheets("Tabelle2").Cells(iCnt - 5).Value).Insert Shift:=xlToRight
  'Schleifenzaehler hochsetzen
  iCnt = iCnt + 1
'Ende Schleife bis zur ersten leeren Zelle in Spate D (4)
Loop
End Sub
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#7
Ich habe jetzt eine Kopie angelegt um es zu testen. mit deinem Code 1zu1, aber auch, wenn ich den Richtigen Arbeitsblatt-Namen eingebe kommt Laufzeitfehler 13, Typen unverträglich. Beim Debuggen wird die Zeile:

Do While Cells(iCnt, 4).Value <> ""

angezeigt. Muss ich dort eine Anpassung vornehmen?
Antworten Top
#8
Was is das Ziel dieser Verschiebung ?
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#9
Angehängt ist nun doch eine komplette Beispiel-Datei. 

Die Verschiebung wird benötigt im Tabellenblatt 3 (ET-VT- Firma), um die Layoutbezeichnungen in Zelle (Z7S4) um den Zahlenwert in Tabelle 2 (Hier Nav...) Zelle (Z2S1 und folgende) zu verschieben.

Dies dient im späteren einer übersichtlichen Struktur, woraus sofort zu erkennen ist aus wie viel Ebenen ein Produkt besteht. 
Sozusagen: 
verrücken um 0 = Endprodukt (oberste Baugruppe) 
verrücken um 1 = Eine Baugruppe, oder ein Teil, welches am Endprodukt verbaut ist
verrücken um 2 = Teile der Baugruppe, welche dann am Endprodukt angebracht wird
verrücken um 3 = sozusagen eine baugruppe der Baugruppe von der Baugruppe......


Angehängte Dateien
.xlsm   BSP_Tabellen.xlsm (Größe: 126,83 KB / Downloads: 3)
Antworten Top
#10
Hallöchen,

Cells(iCnt - 5)

da fehlt noch die Spaltenangabe.

Cells(iCnt - 5, 1)

Allerdings gibt es keine Zelle 0 ... Wenn die Zahl die Verschiebung sein soll, müsstest Du noch 4 addieren.

Cells(icnt, Sheets("Tabelle2").Cells(iCnt - 5, 1).Value + 4)...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


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