Zum Inhalt springen

Excel 2003 - Wert in eine Matrix einfügen (via Makro)


JoachimQ

Empfohlene Beiträge

Hi,

für eine Excel-Tabelle (Microsoft Excel Version 2003) suche ich die Möglichkeit mit Hilfe eines Makros einen Wert in eine Matrix einzufügen.

Im Prinzip soll die Excel-Tabelle folgendermaßen aufgebaut sein.

In der ersten Tabelle werden die Werte angezeigt.

In der ersten Zeile stehen verschiedene Datumsangaben z. B. von 01.01.2008 bis 31.01.2008.

In der ersten Spalte stehen Uhrzeiten von 06:00 Morgen bis 05:00 Uhr morgens früh.

Das zweite Tabellenblatt soll ein Formular enthalten wo man Werte eintragen kann und mit einem Klick auf einen Button "Wert einfügen" ein neuer Wert eingefügt werden soll.

Ich habe ein wenig Ahnung vom Programmieren, aber leider weiß ich noch nicht wie man dieses in VBA umsetzt.

Vorstellen würde ich mir das Script folgendermaßen:

Das Script sucht nach der Spalte, die mit der Eingabe (Feld "Datum") übereinstimmt und merkt sich den "Spaltenwert"

Anschließend sucht das Script nach der Zeile, die mit der Eingabe (Feld "Zeile") übereinstimmt.

Dann kombiniert das Script diese beiden Werte und fügt dann den Wert in der richtigen Zelle ein.

Mit freundlichen Gruß

JoachimQ

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

dein Problem habe ich nicht so ganz verstanden und meine Antwort bezieht sich

jetzt nur auf eine Tabelle:

Zelle A1 ist leer.

Ab Zelle B1 bis n1 steht immer ein Datum.

In Spalte A ab Zelle A2 bis A? steht immer die Uhrzeit.

Dann bau dir eine UserForm mit folgenden Steuerelementen:

ComboBox cmb_Datum

ComboBox cmb_Uhrzeit

Textfeld txt_Eingabe

CommandButton cmb_OK

und hier der Code dazu:

Private Sub UserForm_Initialize()

'Datum aus Zeile 1 auslesen bis letzte Spalte mit Inhalt

'und in cmb_Datum eintragen:

For Spalte = 2 To Cells(1, Columns.Count).End(xlToLeft).Column

UserForm1.cmb_Datum.AddItem (Cells(1, Spalte))

Next Spalte

'Uhrzeit aus Spalte A auslesen bis letzte Zeile mit Inhalt

'und in cmb_Uhrzeit eintragen:

For Zeile = 2 To Cells(Rows.Count, 1).End(xlUp).Row

UserForm1.cmb_Uhrzeit.AddItem Format((Cells(Zeile, 1)), "hh:mm")

Next Zeile

UserForm1.cmb_Datum.ListIndex = 0

UserForm1.cmb_Uhrzeit.ListIndex = 0

cmb_OK.Enabled = False

End Sub

Private Sub cmb_Datum_Change()

Spalte = cmb_Datum.ListIndex + 2

Call Zelle_zeigen

End Sub

Private Sub cmb_Uhrzeit_Change()

Zeile = cmb_Uhrzeit.ListIndex + 2

Call Zelle_zeigen

End Sub

Sub Zelle_zeigen()

Cells(Zeile, Spalte).Select

End Sub

Private Sub cmb_OK_Click()

Cells(cmb_Uhrzeit.ListIndex + 2, cmb_Datum.ListIndex + 2) = txt_Eingabe

End Sub

Hilft dir das?

Gruß

Alfons

------------------------

meine Excelseiten: Excel-Dateien und VBA für Excel

-------------------------

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...