Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1104to1108
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Fragen zu Makro / VBA

Fragen zu Makro / VBA
Matthias
Hallo zusammen,
mit Hilfe aus dem Forum hier konnte ich vor einiger Zeit ein Excel-Makro basteln, das folgendes erledigt:
Klickt der User auf eine Schaltfläche, öffnet sich ein Objekt, in dem man aus verschiedenen Datensätzen auswählen kann. Diese Datensätze werden dann aus den jeweiligen Excel-Blättern fortlaufend an einen bestimmte Stelle des Eingabeblatts kopiert.
Jetzt fehlen mir noch 2 Feinheiten, die ich selber nicht hinbekomme:
- In den Excel-Blättern mit den neutralen Daten sind manche Zellen fett und kursiv formatiert; manche Zellen haben eine beschränkte Auswahl an Daten. Diese Eigenschaften sollen in die Ziel-Zellen des Eingabeblatts übernommen werden.
- In dem Eingabe-Menü gibt es zu jedem Datensatz rechts ein Feld, in dem Anzahl und Baugröße eingegeben werden können. Diese eingegebenen Werte sollen jeweils in der ersten Zeile des Datensatzes in Spalte B geschrieben werden (z.B. rechts neben der Zelle "VW Golf").
Klingt vielleicht alles kompliziert, aber mit einem Blick auf die Datei sollte es klarer werden...
https://www.herber.de/bbs/user/64585.xls
Vielen Dank für jede Hilfe (ich weiß die Frage grenzt schon an Auftragsprogrammierung ;-) )
Gruß Matthias

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Fragen zu Makro / VBA
22.09.2009 07:42:16
fcs
Hallo Mathias,
- 1. Punkt
Der einfachste Weg ist die Daten aus den Standardblättern komplett ins Auftragsblatt zu kopieren, statt die Werte Zelle für Zelle einzutragen.
- 2. Punkt
Du hast ja eine Zeile im Code in der du die Anzahl der Datensätze aus den Textboxen 1 bis 3 in Array M() einliest. In gleicher Weise kannst du die Daten aus den Textboxen 13 bis 15 in das Array G() einlesen.
Ich empfehle aber die Textbox13 bis TextBox15 umzubenennen in TextBox_Anz_BG1 bis TextBox_Anz_BG3. Dann ist der Code verständlicher und die Textboxen für "Anzahl Datensätze" und "Anzahl/Baugröße" haben die gleiche Zählnummer.
Die Prozedur für den "Übernehmen"-Button muss du dann wie folgt anpassen.
Gruß
Franz
Private Sub CommandButton1_Click()
Dim i As Long, k As Long
Dim x As Integer
Dim s As Integer
Dim z As Integer
Dim LZ As Long
Dim LZM As Long
Dim M(3) As Integer, G(3) As String
Dim wb As Workbook, na As Name, s1 As String, s2 As String, s3 As String
Application.ScreenUpdating = False
Set wb = ThisWorkbook
'alle Namen in der Arbeitsmappe löschen
For Each na In wb.Names
na.Delete
Next na
'Altdaten löschen
LZ = wb.Worksheets(1).Cells(Rows.Count, 1).End(xlUp).Row + 1
With wb.Worksheets(1)
With .Range(.Cells(18, 1), .Cells(LZ, 4))
.ClearContents
.Font.FontStyle = "Standard"
.Font.Size = 6
.Interior.ColorIndex = xlNone
End With
End With
'Userform-Eingaben abarbeiten
For x = 1 To 3
If Controls("TextBox" & x).Value  "" Then
M(x) = Me.Controls("TextBox" & x).Value 'Anzahl Datensätze
'       G(x) = Me.Controls("TextBox_AnzBG" & x).Value 'Anzahl/Baugröße - mit Umbenennung _
der Textboxen
G(x) = Me.Controls("TextBox" & 12 + x).Value 'Anzahl/Baugröße - ohne Umbenennung _
der Textboxen
For i = 1 To M(x)
LZ = wb.Worksheets(1).Cells(Rows.Count, 1).End(xlUp).Row + 1
If LZ 

Anzeige
Fragen zu Makro / VBA
22.09.2009 09:47:34
Erich
Hi Matthias,
auch ich hab mal an deiner Mappe rumgewerkelt. Probier mal: https://www.herber.de/bbs/user/64595.xls
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: Fragen zu Makro / VBA
22.09.2009 19:11:50
Matthias
Wow, danke!! Funktioniert einwandfrei - Du hast es drauf.
Matthias

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige