Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1312to1316
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Matrix für Ausdruck - Version 2

Matrix für Ausdruck - Version 2
17.05.2013 08:42:32
Albert
Guten Morgen zusammen,
ich bräuchte eure Hilfe bei einem weiteren Problem, bzw. einer zweiten Lösung um ein Matrixproblem zu lösen.
Zum Problem...
In der Zeile A2 bis H2 stehen "x"'e, die mir zeigen, ob ein Etikett vorhanden ist oder nicht.
In der Spalte J3 bis J14 lasse ich mir aus Checkboxen heraus ein "x" setzen, wenn eine Abteilung ein Etikett bekommen soll.
Heißt nun, vor dem Drucken muss ein Makro prüfen, ob ein "x" vom Etikett vorhanden ist und ob eine Abteilung ein Etikett bekommt.
Es darf eben nur ein Ausdruck auf ein Etikett kommen.
Ich häng eine Testdatei an, die hoffentlich besser erklärt als ich hier schreibe.
https://www.herber.de/bbs/user/85364.xlsm
Dank euch schon jetzt...
Gruß
A.

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

Betreff
Datum
Anwender
Anzeige
AW: Matrix für Ausdruck - Version 2
17.05.2013 12:46:01
Albert
Hallo Leute,
ich hab mir mal mit diesem Code was gebastelt, nur bleibt der Code hängen mit LZF1004.
Private Sub CommandButton3_Click()
Dim wks As Worksheet
Dim Spalte As Long
Dim bolMarkiert As Boolean
Dim i As Integer
Dim k As Integer
Set wks = ActiveSheet 'Worksheets("Etikettenbelegung")
Set lngZeileAbteilung = Range("J3:J14")
k = wks.Range("AB5").Value
With wks
'in Zeile 2 auf "x"-Eintrag prüfen
For i = 1 To k
For Spalte = 1 To 8 'Spalte A bis H
If UCase(.Cells(2, Spalte).Value) = "X" Then
'Prüfen, ob unterhalb schon ein "x" eingetragen
If Application.WorksheetFunction.CountIf(.Range(.Cells(3, Spalte), _
.Cells(14, Spalte)), "x") = 0 Then
'Markierung eintragen
'.Cells(lngZeileAbteilung, Spalte).Value = "x"
             .Cells(lngZeileAbteilung, Spalte).Value = "x"
bolMarkiert = True
Exit For
End If
End If
Next
Exit For
Next i
End With
End Sub
Kann mir da jemand weiterhelfen?
Sinn an dieser Stelle sollte sein, dass ein "x" aus Spalte J in eine leere Spalte von A bis H geschrieben wird und zwar nur einmal.
Dank und Gruß
A.

Anzeige
AW: Matrix für Ausdruck - Version 2
17.05.2013 14:43:36
fcs
Hallo Albert,
etwa so
Gruß
Franz
Private Sub CommandButton3_Click()
Dim wks As Worksheet
Dim Spalte As Long
Dim rngAbteilungX As Range
Dim bolMarkiert As Boolean
Set wks = ActiveSheet 'Worksheets("Etikettenbelegung")
With wks
For Each rngAbteilungX In .Range("J3:J14").Cells
If UCase(rngAbteilungX.Value) = "X" Then
bolMarkiert = False
For Spalte = 1 To 8 'Spalte A bis H
'in Zeile 2 auf "x"-Eintrag prüfen
If UCase(.Cells(2, Spalte).Value) = "X" Then
'Prüfen, ob unterhalb schon ein "x" eingetragen
If Application.WorksheetFunction.CountIf(.Range(.Cells(3, Spalte), _
.Cells(14, Spalte)), "x") = 0 Then
'Markierung eintragen
.Cells(rngAbteilungX.Row, Spalte).Value = "x"
bolMarkiert = True
Exit For
End If
End If
Next
If bolMarkiert = False Then
MsgBox "Keine freien Ettiketten mehr ab Zeile " & rngAbteilungX.Row
Exit For
End If
End If
Next rngAbteilungX
End With
End Sub

Anzeige
mwT... danke Franz
20.05.2013 11:19:33
Albert
Servus Franz,
dein Code funktioniert wunderbar.
Vielen herzlichen Dank.
Grüße
Albert

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige