2010-08-04 5 views
1

J'ai besoin d'aide pour écrire un sous-programme pour mon programme en Excel. Ce que j'essaye de faire est de prendre l'information d'une feuille (maître de code barres) et de la remplir dans une autre feuille (modèle). J'ai enregistré une macro et cela m'a amené à copier et coller des infos. Sur la feuille maîtresse de code à barres j'ai la gamme de codes à barres énumérés avec le numéro de début dans une cellule dans la colonne A, et le numéro de fin dans une cellule dans la colonne B. Je veux prendre le numéro de départ et le copier dans la cellule A4 le modèle et remplissez-le jusqu'à ce qu'il soit égal au numéro de fin des codes à barres. Aussi sur le maître de code à barres l'emplacement de l'endroit où il prend le numéro de départ, je veux que ce soit toujours la dernière cellule peuplée dans la rangée A et B. Voici ce que j'ai jusqu'à présent. aidez s'il vous plaît. MerciRemplissage des cellules en fonction des valeurs

Sub Macro9() 

// Macro9 Macro 
// Macro recorded 7/30/2010 by Christina 



    Sheets("barcode master").Select 
    Range("D648").Select 
    Selection.Copy 
    Sheets("barcode template").Select 
    Range("F1").Select 
    ActiveSheet.Paste 
    Sheets("barcode master").Select 
    Range("E648").Select 
    Application.CutCopyMode = False 
    Selection.Copy 
    Sheets("barcode template").Select 
    Range("J1").Select 
    ActiveSheet.Paste 
    Sheets("barcode master").Select 
    Range("F648").Select 
    Application.CutCopyMode = False 
    Selection.Copy 
    Sheets("barcode template").Select 
    Range("B1").Select 
    ActiveSheet.Paste 
    Sheets("barcode master").Select 
    Range("A648").Select 
    Application.CutCopyMode = False 
    Selection.Copy 
    Sheets("barcode template").Select 
    Range("A4").Select 
    ActiveSheet.Paste 
    Range("a5").Value = Range("a4") + 1 

End Sub 
+0

Veuillez rendre le titre plus instructif. – Sruly

Répondre

4

Il est pas tout à fait clair de votre message ce que vous essayez d'atteindre, donc je vais devoir faire quelques hypothèses ...

  • Dans un classeur que vous avez deux feuilles et le nom MasterTemplate
  • dans la colonne a Master a le numéro de départ d'un code à barres et la colonne B a le numéro de fin
  • Vous souhaitez sélectionner la dernière ligne de la colonne a Master, collez cette valeur à Template la cellule A4, puis remplir le bas des valeurs jusqu'à ce qu'elle corresponde à la dernière cellule dans la colonne B de Master

Exemple: A10 cellulaire a la valeur de départ du code à barres de et B10 de cellules a une valeur de code à barres d'extrémité . Sur Template vous voulez cellule A4 pour commencer 100 et le remplissage jusqu'à 110 (soit 100, 101, 102, 103 ... 110)

En supposant que je vos exigences correctes, alors ce code fonctionne:

Sub CopyBarCodes() 
'First clear Template sheet of previous values 
Worksheets("Template").Range("A:A").ClearContents 

'Now select last entry in Master sheet and get start and end bar code numbers 
Dim startBarCode As Long, endBarCode As Long 
Dim lastRow As Long 

With Worksheets("Master") 
    lastRow = .Range("A1").End(xlDown).Row 
    startBarCode = .Range("A" & lastRow) 
    endBarCode = .Range("B" & lastRow) 
End With 

'Update Template with barcode 
With Worksheets("Template") 
    .Range("A4").Value = startBarCode 
    .Range("A4").DataSeries Rowcol:=xlColumns, Type:=xlLinear, Date:=xlDay, Step:=1, Stop:=endBarCode, Trend:=False 
End With 

End Sub 

Espérons que cela aide ...

Questions connexes