PNG32 PNG32 PNG32 PNG32
PNG32
Forum Excel, VBA, VSTO, Exceltips, Excelhj�lp PNG32 drivs av Excelspecialisten    Logga in     English
PNG32
PNG32 PNG32
PNG32

Logga in

PNG32

Du är inte inloggad. Logga in eller registrera dig för att skriva inlägg eller svara på inlägg.

För frågor om forumet, kontakta oss på webmaster@excelforum.se

PNG32 PNG32
PNG32 PNG32
PNG32

Excelforum

PNG32

 
ForumForumDiskussionerDiskussionerVBAVBAKopiera celler inkl datum beroende på värde i kolumn.Kopiera celler inkl datum beroende på värde i kolumn.
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2019-12-02 03:22
 
Hej,
Är helt ny här så ska försöka vara tydlig med mitt behov.

Behöver ha en VBA för att kunna kopiera text, ur en tabell, två specifika celler i kolumnerna B och D i "blad 1" baserat på två specifika förekommande text-värden i kolumn D. Alltså bara kopiera de specifika cellerna om något av värdena i kolumnen är uppfyllda.

Dessa celler ska sedan klistras in i "blad 2" och då ha dagens datum med som då med fördel klistras in i första cellen i raden och sedan de andra cellerna efter på samma rad. Jag vill också undvika att ha med funktionerna ur tabellen i de kopierade cellerna, alltså bara kopiera text och inte funktion.

Vid inklistringen i "blad 2" ska inklistringarna fyllas på rad efter rad oavsett om det klistras över en rad eller flera. Hoppas det blev tydligt och hoppas ni kan hjälpa mig. Tack
Nytt inlägg
 2019-12-02 15:48
 

Hej. Jag misstänker att jag inte förstår hur du vill göra i Inskrivningsbladet (vill du ha tomma rader om villkoret inte uppfylls?). Men lita atttt leka med:

 

 Sub Makro1()

Dim rKontrollcell As Range
Dim rMål As Range
    
Set rMål = Application.Worksheets("Blad2").Range("A1")
' anger var du vill börja skriva in dina data.
    
For Each rKontrollcell In Application.Worksheets("Blad1").Range("D1:D1000")
' anger hur många rader i D-kolumnens du vill titta i. 
 
    If Not (rKontrollcell.Value = "") Then
        If (rKontrollcell.Value = "Ett specifikt värde" Or rKontrollcell.Value = "Ett annat specifikt värde") Then
            rMål.EntireRow.Range("A1").Value = Date
            rMål.EntireRow.Range("B1").Value = rKontrollcell.EntireRow.Range("B1").Value
            rMål.EntireRow.Range("C1").Value = rKontrollcell.EntireRow.Range("D1").Value
            Set rMål = rMål.Offset(1, 0) ' flyttar ner målområdet en rad. OBS endast om den har hittat något i D-kolumnen
        End If
    End If
 
Next rKontrollcell
' Kolla nästa rad i D-kolumnen
    
End Sub
 
 
Nytt inlägg
 2019-12-07 10:29
 
Hej och stort tack!

Jo det fungerar nästan så som jag vill. När villkoret uppfylls (i kolumn D) vill jag att de specifika cellerna hamnar i "blad 2" som är ett arkiveringsblad. När det inte uppfylls ska inget hända i något blad. Utan bara flytta över texten till arkiveringen när villkoret är uppfyllt i "blad 1". Så långt verkar det fungera tror jag.

Men det som är ett problem nu är att om jag under samma datum genomför villkoren vid olika tillfällen och olika mängd så verkar makrot klistra över föregående. Där behöver jag att det bara fylls på kontinuerligt rad efter rad oavsett om jag under samma dag fyller i villkoret olika mängd samt olika tillfällen.

Hoppas du förstår hur jag menar.


//Som tillägg skulle jag gärna även behöva ett makro som kan kopiera arkiveringen efter specifik månad samt årsvis via ex en eller flera knappar i arkiveringsbladet ("blad "). För att sedan skicka informationen till utskriftsfunktionen där jag kan själv välja skrivare, antal osv. För att kunna skriva ut månadsrapporter eller årsrapporter av arkiveringen. exempelvis välja maj 2019 och sedan skriva ut den informationen från arkiveringsbladet. Kanske är lättast med en tabell i arkiveringsbladet ("blad 2") ?//


Tusen tack för all hjälp!
Nytt inlägg
 2019-12-10 13:13
 
Hej hej

Ändra rader:

Dim rMål As Range
Set rMål = Application.Worksheets("Blad2").Range("A1")

till
Dim rMål As Range: Set rMål = ThisWorkbook.Sheets("blad2").Range("A:A")
Set rMål = rMål.Cells(rMål.Count).End(xlUp).Offset(1, 0)

Så får du en dynamisk lösning där cellen som datat skrivs till alltid blir den sista. Fungerar dock inte om du har dolda rader..

/c
Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerVBAVBAKopiera celler inkl datum beroende på värde i kolumn.Kopiera celler inkl datum beroende på värde i kolumn.

PNG32 PNG32
Excelforum drivs av Excelspecialisten som bedriver utbildning i Excel och VBA, tillhandahåller support och hjälp med Excel, utvecklar program i Excel. Är ni i behov av en konsult inom Excel, VBA eller VSTO, eller söker en excelkurs, kontakta oss.
Copyright 2013 ExcelSpecialisten XLS AB   Användarvillkor  Personliga uppgifter