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.

Ausgewählten Bereich, als gedruckt markieren
#1
Hallo, ich habe ein folgendes Problem und hoffe Ihr könnt mir dabei helfen.
In meiner Tabelle (Spalte A-AF) stehen Werte für diverse Aufträge.
In der Zeile 1-3 stehen die Werte für ein und dieselben Auftragsnummer.
Nach dem ich die komplette Zeilen 1-3 markiert habe und die Tastkombi betätige, geht folgendes Makro los.


Code:
Sub MakroDruck()
'
' Makro1 Makro
' Drucken
'
' Tastenkombination: Strg+y
'
    
    Selection.Copy
        Sheets("DATEN").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        Sheets("DRUCK").Select
        If Cells(66, 17) = "" Then
        Rows("66:200").Hidden = True
        Else
        Rows("66:200").Hidden = False
End If
        Range("F8:G8").Select
        ActiveCell.Value = ActiveCell.Value + 1
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
        Application.Dialogs(xlDialogSaveAs).Show Range("D8").Value & " " & Range("F8").Value & " AB " & Range("Q4").Value
        Rows("1:250").Select
        Selection.EntireRow.Hidden = False
    Sheets("DATEN").Select
        Rows("2:12").Select
        Range("D2").Activate
        Selection.ClearContents
        Rows("2:2").Select
        Range("D2").Activate
        Sheets("AUFTRÄGE").Select
End Sub

Im Grunde soll in der Spalte F, alle markierten Zellen ein "G" (für gedruckt) erhalten.
Dabei ist es wichtig das die Auswahl nicht von A-AF markiert wird sondern ganze Zeilen.

Geht das überhaupt?
Vielen Dank schon mal im Voraus!
Antworten Top
#2
Hallo,

Zitat:Dabei ist es wichtig das die Auswahl nicht von A-AF markiert wird sondern ganze Zeilen.

... da ich nicht glauben kann, daß Du in jeder Zelle Deiner Zeile ein "G" sehen willst, in welcher
Spalte willst Du das "G" denn haben?

Ups: da werde ich eventuell noch ein paar Fragen haben. Ich habe festgestellt, nicht wirklich alles
verstanden zu haben.
Löschen wollte ich meine Frage aber nun auch nicht :19:
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#3
Hallöchen,

die Gretchenfrage ist, ob eine ganze Zeile markiert ist?

Du könntest z.B. prüfen, ob die Selection.Columns.Count gleich der Columns.Count ist. Allerdings würde das nicht differenzieren, wenn Du z.B. anderthalb Zeilen markiert hast.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#4
Hallo, Sie haben Recht Hr. Blaubär! :19: ich möchte nur in der Spalte F ein "G" stehen.

Sorry, da ich ein Anfänger in VBA bin kann ich deiner Antwort nicht folgen. schauan


.xlsm   DK84.xlsm (Größe: 376,19 KB / Downloads: 1)
Antworten Top
#5
Hallöchen,

Der Anfang Deines Makros könnte dann so aussehen. Ich habe die Prüfung mit der ganzen Zeile dabei. Wenn Du keine ganze Zeile markiert hast, dann wird auch kein G eingetragen.

Sub MakroDruck()
'
' Makro1 Makro
' Drucken
'
' Tastenkombination: Strg+y
'
If Selection.Columns.Count = Columns.Count Then Selection.Columns("F").Value = "G"
Selection.Copy
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#6
Hallo schauan, vielen Dank dafür!
Klappt super. Kannst du mir das Makro erklären?
Antworten Top
#7
Moin!
Es wurde ja reichen, die Schnittmenge zu beschreiben:
Code:
Intersect(Selection, Columns(6)) = "G"

Dann braucht es keine Prüfung mehr, wenn keine Schnittmenge, wird auch nix beschrieben.

Gruß Ralf

Ich muss meine Antwort berichtigen …
Geht doch nur mit Prüfung:
Code:
Sub G_Eintrag()
Dim Spalte_F As Range
Set Spalte_F = Intersect(Selection, Columns(6))
If Not Spalte_F Is Nothing Then Spalte_F = "G"
End Sub
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#8
Hallöchen,

der Teil
If Selection.Columns.Count = Columns.Count

prüft, ob die Anzahl der gewählten Spalten gleich der Anzahl aller Spalten ist

und der Teil
Selection.Columns("F").Value = "G"

füllt dann alle Zellen in Spalte F der gewählten Zeilen mit "G"

Aber, wie gesagt, falls Du eine ganze Zeile wählst und dann noch ein paar Zellen in anderen Zeilen kommt in den anderen Zeilen auch ein G rein. Könnte man ja bei gedrückter STRG-Taste und mit der Maus machen. Oder Du wählst eine ganze Zeile, nimmst mit STRG dort eine Zelle raus und wählst darunter eine in der Spalte der rausgenommenen. Dann hast Du auch in allen Spalten was gewählt, aber keine komplette Zeile …

@Ralf - Bedingung war, dass eine ganze Zeile selectiert ist.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#9
Vielen lieben Dank.
Antworten Top


Gehe zu:


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