bestimmte Excel Inputs mit Python auswählen und in eine andere Excel-Datei einfügen?

Hallo zusammen,

ich würde gerne etwas Neues mit Python ausprobieren. Es geht um eine Excel-Datei, aus der ich bestimmte Einträge in eine andere Excel-Datei einfügen möchte. Wie ihr sehen könnt, möchte ich die Einträge, die einen Farbnamen enthalten, in eine andere Datei in Klammern einfügen und den Farbnamen übersetzt davor schreiben. Haben Sie eine Idee, wie ich das machen kann? Ich wäre Ihnen für jede Antwort dankbar.

import openpyxl
from openpyxl import Workbook, load_workbook
book = openpyxl.load_workbook('datei.xlsx')

result = 1
valuesK = []
i = 1

while result <= 101;
	pages = 'Sheet' + str(i)
	sheet = book.get_sheet_by_name(Sheet1)
	vK = sheet['G1': 'G2259']

	for row in vK:
		for cell in row:
			if blue in cell:
			valuesK.append('Blau (' + cell.value + ')')
			elif red in cell:
				valuesK.append('Rot (' + cell.value + ')')
			elif grey in cell:
				valuesK.append('Grau (' + cell.value + ')')
			elif black in cell:
				valuesK.append('Schwarz (' + cell.value + ')')
			elif white in cell:
				valuesK.append('Weiß (' + cell.value + ')')
			elif offwhite in cell:
				valuesK.append('Elfenbein (' + cell.value + ')')
			elif brown in cell:
				valuesK.append('Braun (' + cell.value + ')')
			elif beige in cell:
				valuesK.append('Beige (' + cell.value + ')')
			elif pink in cell:
				valuesK.append('Pink (' + cell.value + ')')
			elif yellow in cell:
				valuesK.append('Gelb (' + cell.value + ')')
			elif orange in cell:
				valuesK.append('Orange (' + cell.value + ')')
			elif green in cell:
				valuesK.append('Grün (' + cell.value + ')')
			elif turquoise in cell:
				valuesK.append('Türkis (' + cell.value + ')')
			elif purple in cell:
				valuesK.append('Violett (' + cell.value + ')')
			elif gold in cell:
				valuesK.append('Gold (' + cell.value + ')')
			elif silver in cell:
				valuesK.append('Orange (' + cell.value + ')')
			else:
				valuesK.append('Multicolour (' + cell.value + ')')



	i += 1
	result +=1

	wb = Workbook()
	ws = wb.active

	filename='dosya'

	i = 0
	for i in valuesK:
		j += 1
		ws['A' + str(j)] = i
		int(j)

wb.save('datei2.xlsx')
Computer, Microsoft Excel, programmieren, Code, Informatik, Programmiersprache, Python, Softwareentwicklung, Python 3, Data Science
Datenbank terminplaner excel access?

Hallo, ich bin einer der Aussendienstlereiner großen Grosshandels-Baustoffirma.

Ich suche einen Terminplaner. Aber nen der mehr Datenbank ist :

Unser warenwirtschaftssystem ist eigentlich gut. Aber..

Die Kunden beziehen Holz, Zement und Sande.

Alles mit Abnahmeverträgen.

Jetzt kommt ne Aktion, Holz wird danach deutlich teurer. Also alle Holzkunden ansprechen. OK. Lieferubersicht hab ich ja von den Stammkunden. Aber nicht die die schon (teuer) in der Vergangenheit gekauft haben (250 Kunden..)

Aber die 100 potentiellen auch, die das signalisiert haben "Ruf mich mal an wenn ihr n Angebot habt".

Aber nicht alle 500 potentiellen Kunden die gar kein Holz brauchen(sondern nur Sande..) oder wo ich mit Holz keine Chance habe.

Bislang habe ich 3 Excel Blätter.

Je eins für Holz Sande und Zement.

Holz

Kunde Müller

Interesse ab 3.2022

2 lkw/Monat

Somit kann ich das auch sortieren (alle ab Lieferung März) und hab ne ungefähre Menge die ich meinem Einkauf sagen kann wenn er ein Angebot über 500 lkw bekommt. Denn einfach lagern geht weder von Platz, Haltbarkeit noch Vorfinanzierung.

Soll ich bei Excel bleiben? Oder ist access lohnenswert?

Gibt es eine App oder access Vorlagen?

Welche Funktionen wären da möglich? Ich sicher mir das schon immer.. Einmal falsch sortiert und es ist zerstört.

Wir überlegen mit den Programmierern aber die haben erstmal (1-2 Jahre) keine Chance das ausgereift zu entwickeln.

Account, Microsoft Excel, terminplanung, Datenbanksystem
Excel VBA - Nach kopieren anderen Zelleninhalt "zurückwerfen"?

Hallo,

ich habe eine Formularseite gebastelt, bei der eingegebene Daten in eine Liste eingefügt werden. Nun möchte ich, dass das Makro, welches die Daten in das andere Blatt in eine neue Zeile kopiert hat, auf der Formularseite die Zeilennummer in ein Feld einträgt.

Die Eingabeseite heißt "Eingaben" und das Blatt mit der Liste heißt "Liste"

Beispiel:

Ich gebe Daten ein, klicke den Button an auf dem das Makro liegt, und die Daten werden nach "Liste" in Zeile 10 kopiert (während Zeilen 5-9 schon Daten enthalten aus vorherigen Übertragungen).

In dem selben Makro soll nun am Ende die Nummer, die in A10 steht (In Zeile A stehen von mir eigens vergebene Nummern), auf der Eingabeseite in das Feld B10 kopiert werden.

Anders formuliert:

Spalte A (Lliste) enthält Reklamationsnummern, fortlaufend. Beginnend mit RK20220001.

Wenn ich jetzt in der "Eingaben"-Seite meine Daten erfasse und das Makro nutze, werden die eingegebenen Daten in die "Liste" kopiert. Es wird automatisch immer die letzte Zeile gefüllt, ab Spalte B.

Nun möchte ich, dass die Reklamationsnr., die neben den zuletzt eingefügten Daten steht, in das "Eingaben"-Blatt in das Feld B10 kopiert wird.

Denn die Eingabefelder sind bereits so formatiert, dass man ein Etikett drucken kann, das dann an die Ware kann. Damit man nicht immer manuell die Nummer raus suchen muss, soll sie halt automatisch dort rein.

Computer, Office, Visual Basic, Microsoft Excel, Technik, programmieren, VBA, Technologie
Excel VBA - Darstellung waagerecht-vertikal beim kopieren ändern?

Hallo,

ich habe in einer fertigen Tabelle etwas geändert, um die Eingabe der Daten zu erleichtern. Statt die Daten in der Spalte zu erfassen, werden die Daten jetzt in einer Zeile eingegeben.

Also statt vorher in B10, B11, B12... jetzt in B10, C10, D10...

Die Daten werden mit Hilfe eine Makros in eine andere Tabelle transferiert und waagerecht eingefügt.

Da ich aber die Eingabeart verändert habe, werden die Daten jetzt untereinander in die Tabelle eingefügt.

Ich weiß, dass das mit "Application.Transpose" zu tun hat.

Nun weiss ich aber nicht wie ich die Zeile umbenennen muss, damit die waagerechte Darstellung übernommen wird.

Wie ändere ich die Zeile, damit die angesprochenen Werte waagerecht in die Zeile kopiert werden?

Hier der komplette Code:

Sub transfer_werte()
    Dim rngKunde    As Excel.Range
    Dim rngReklam   As Excel.Range
    Dim rngArtikel   As Excel.Range

     Set rngKunde = Worksheets("Eingaben").Range("C5:C10")
    Set rngReklam = Worksheets("Eingaben").Range("D5:D9")
    Set rngArtikel = Worksheets("Eingaben").Range("C14:L14")
   
        With Worksheets("Liste")
          With .Cells(.Rows.Count, 2).End(xlUp)
               .Offset(1, 0).Resize(rngKunde.Columns.Count, rngKunde.Rows.Count).Value = Application.Transpose(rngKunde.Value)
        End With
    End With
   
    With Worksheets("Liste")
        With .Cells(.Rows.Count, 8).End(xlUp)
             .Offset(1, 0).Resize(rngReklam.Columns.Count, rngReklam.Rows.Count).Value = Application.Transpose(rngReklam.Value)
        End With
    End With
  
   With Worksheets("Liste")
        With .Cells(.Rows.Count, 14).End(xlUp)
             .Offset(1, 0).Resize(rngArtikel.Columns.Count, rngArtikel.Rows.Count).Value = Application.Transpose(rngArtikel.Value)
        End With
    End With
      
End Sub
Computer, Software, Office, Microsoft Excel, programmieren, VBA

Meistgelesene Fragen zum Thema Microsoft Excel